tailieunhanh - Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming) - Chương 8: Đa hình động, hàm ảo

Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming) - Chương 8: Đa hình động, hàm ảo. Những nội dung chính được trình bày trong chương này gồm có: Hàm ảo và đa hình động; ứng dụng của đa hình động; lớp trừu tượng, hàm tạo và hàm hủy ảo. | Chương 8. Đa hình động Hàm ảo I. Hàm ảo và đa hình động II. Ứng dụng của đa hình động III. Lớp trừu tượng hàm tạo và hàm hủy ảo Ngô Công Thắng - Bài giảng LTHĐT - Chương 08 1 I. Hàm ảo và sự đa hình 1. Giới thiệu về hàm ảo và sự đa hình 2. Gọi hàm thành viên qua con trỏ lớp cơ sở 3. Sự liên kết động Ngô Công Thắng - Bài giảng LTHĐT - Chương 08 2 . Giới thiệu về hàm ảo và sự đa hình Dạng đa hình thứ hai trong LTHĐT liên quan tới sự kế thừa hàm ảo và con trỏ. Ở đây sự đa hình thái thể hiện ở chỗ Lời gọi tới một hàm thành viên sẽ làm cho các hàm thành viên khác nhau được thực hiện tuỳ thuộc vào kiểu đối tượng gọi hàm đó. Sự đa hình này còn được gọi là sự liên kết động. Hàm ảo là hàm thành viên của lớp giống như các hàm thành viên thông thường chỉ khác là được khai báo với từ khóa virtual đặt trước. virtual void nhap Ngô Công Thắng - Bài giảng LTHĐT - Chương 08 3 . Gọi hàm thành viên qua con trỏ lớp cơ sở Con trỏ lớp cơ sở có thể chứa địa chỉ của đối tượng các lớp dẫn xuất. Bởi vì đối tượng lớp dẫn xuất là một loại đối tượng lớp cơ sở nên các con trỏ trỏ tới đối tượng của một lớp dẫn xuất có kiểu phù hợp với các con trỏ trỏ tới đối tượng của lớp cơ sở. Khi một lớp cơ sở và các lớp dẫn xuất của nó có các hàm thành viên trùng nhau nếu các hàm này được gọi qua con trỏ lớp cơ sở thì hàm được thực hiện luôn là hàm thành viên lớp cơ sở. Ngô Công Thắng - Bài giảng LTHĐT - Chương 08 4 . Gọi hàm thành viên qua con trỏ lớp cơ sở Sở dĩ các hàm thành viên lớp cơ sở luôn được thực hiện vì trình biên dịch bỏ qua nội dung của con trỏ và chọn hàm thành viên phù hợp với kiểu con trỏ là lớp cơ sở. Ngô Công Thắng - Bài giảng LTHĐT - Chương 08 5 . Gọi hàm thành viên qua con trỏ lớp cơ sở Để gọi được hàm thành viên của lớp dẫn xuất qua con trỏ lớp cơ sở ta cho các hàm thành viên của lớp cơ sở là hàm ảo. Khi dùng hàm ảo trình biên dịch lựa chọn hàm để thực hiện dựa trên nội dung của con trỏ chứ không phải tên kiểu của con trỏ. Đây là sự đa hình thái vì một lời gọi hàm mà có thể

TỪ KHÓA LIÊN QUAN