1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình hướng đối tượng tính đa hình

9 865 17
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 101 KB

Nội dung

Lập trình hướng đối tượng tính đa hình

Trang 1

05/21/24 04:23

Lập trình hướng đối tượng

Hà Văn Sang

Khoa HTTT, Academy Of Finance, Hanoi

Hà Văn Sang

Bộ môn: Tin học TC – KT

Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính

Tel: 0982.165.568

Email: sanghv@hvtc.edu.vn

Website: http://www.hvtc.edu.vn/sanghv

Lập trình hướng đối tượng

Trang 2

Lập trình hướng đối tượng

Hà Văn Sang

Khoa HTTT, Academy Of Finance, Hanoi

CHƯƠNG V

Trang 3

Object Oriented Programing– Information Systems Department 3

1 Khái niệm

Kết gán sớm và kết gán muộn

 Khi đối tượng nhận một thông báo thực hiện một phương thức, hệ thống sẽ:

 Kiểm tra cú pháp của thông báo

 Gắn thông báo đó với 1 định nghĩa hàm cụ thể

Việc kết gán có thể xảy ra ở hai thời điểm:

•Lúc biên dịch chương trình  Kết gán sớm

•Lúc chạy chương trình  Kết gán muộn

Trang 4

2 Phương thức ảo

 Định nghĩa:

 Hàm ảo là hàm thành phần của lớp

 Được khai báo trong lớp cơ sở và định nghĩa lại trong lớp dẫn xuất

 Cú pháp

virtual <kiểu trả về> <tên hàm>([tsố])

 Một số chú ý:

 Định nghĩa các phương thức áo như các phương thức thông thường

 Sử dụng con trỏ để truy cập tới hàm ảo

 Định nghĩa trong lớp cơ sở ngay cả khi nó không được sử dụng

 Không có hàm khởi tạo ảo nhưng có thể có hàm huỷ ảo

 Con trỏ của lớp cơ sở có thể chứa địa chỉ của đối tượng lớp dẫn

xuất

Trang 5

Object Oriented Programing– Information Systems Department 5

2 Phương thức ảo

 Cơ chế kết gán muộn:

 Khi một lớp có phương thức ảo hoặc lớp cơ sở có phương thức áo

 Chương trình dịch sẽ phát sinh thêm một con trỏ ảo (virtual pointer)

 Con trỏ này trỏ tới một bảng ảo (Vtable)

 Bảng ảo có chứa địa chỉ của các phương thức ảo

 Quá trình phát sinh một đối tượng lớp dẫn xuất:

 B1: xác định các thành phần ( ko ảo) kể cả cả các thành phần của

lóp cơ sở

 Bước 2: Xây dựng con trỏ ảo và bảng áo

 Khi kết gán muộn, căn cứ vào con trỏ ảo để xác định

phương thức trong bảng ảo và phương thức của lớp dẫn xuất

Trang 6

Ví dụ:

NGUOI

{

- ht,namsinh

- nhap, in

- loai(){returrn 0};

}

SV:NGUOI

{

-lop,dtb

-nhap, in

-loai(){ return 1;}

}

GV:NGUOI

{

-hsl, dv

-nhap,in

-loai(){return 2;}

Trang 7

Object Oriented Programing– Information Systems Department 7

Chú ý:

 Cơ chế kết gán phương thức ảo chỉ có thể thực hiện qua

phép gán con trỏ hoặc tham chiếu

NGUOI a,*p;

GV b;

a=b;

a.nhap(); //kết gán sớm p=&b;

pnhap(); //kết gán muộn

NGUOI &q=b;

qnhap(); //kết gán muộn

void f(NGUOI x)

{ x.nhap(); //kết gán sớm}

void f(NGUOI &x)

{ x.nhap(); //kết gán muộn }

Trang 8

3 Phương thức ảo thuần tuý

 Mục đích:

 Tránh lãng phí bộ nhớ

 Cung cấp một phương thức thống nhất làm giao diện chung

 Khai báo:

virtual <kiểu trả về> <tên phương thức>([tsố])=0;

 Đặc điểm:

 Không bắt buộc định nghĩa trong lớp cơ sở

 Không thể khai báo đối tượng thuộc lớp có phương thức ảo thuần

tuý

 Lớp có phương thức ảo thuần tuý chỉ làm lớp cơ sở cho lớp khác và gọi là lớp cơ sở trừu tượng

 Lớp dẫn xuất kế thừa lớp cơ sở trừu tượng mà không định nghĩa lại phương thức ảo thuần tuý  nó trở thành lớp cơ sở trừu tượng

Trang 9

Object Oriented Programing– Information Systems Department 9

Qui cách nộp bài

Gửi tới địa chỉ: sanghv@gmail.com

CC: sanghv@hvtc.edu.vn

Tiêu đề:

[Lớp][BT6][Stt][Họ và tên]

Ví dụ:

[K43/41.01][BT3][14][Lê hoàng Vũ]

Hạn nộp: 23h59’ ngày 29/01/2008

Ngày đăng: 21/08/2012, 14:20

TỪ KHÓA LIÊN QUAN

w