
10/24/2011 3:35 PM
10/24/2011 3:35 PM
L
Lậ
ập tr
p trì
ình hư
nh hướ
ớng đ
ng đố
ối tư
i tượ
ợng
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

10/24/2011 3:35 PM
10/24/2011 3:35 PM
L
Lậ
ập tr
p trì
ình hư
nh hướ
ớng đ
ng đố
ối tư
i tượ
ợng
ng
Hà Văn Sang
Khoa HTTT,
Academy Of Finance, Hanoi
CHƯƠNG V

Object Oriented Programing– Information Systems Department 3
1. Kh
1. Khá
ái ni
i niệ
ệm
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

Object Oriented Programing– Information Systems Department 4
2.
2. Phương th
Phương thứ
ức
c ả
ảo
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

Object Oriented Programing– Information Systems Department 5
2.
2. Phương th
Phương thứ
ức
c ả
ảo
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

