Bài giảng Phương pháp lập trình hướng đối tượng: Đa hình

Trong bài giảng này sẽ trình bày về tính đa hình trong lập trình hướng đối tượng. Các nội dung chính trong chương gồm có: Hàm ảo, hàm thuần ảo, hàm hủy ảo. Cuối bài giảng còn có các bài tập để người học có thể tự kiểm tra lại các kiến thức đã học trong bài giảng. . | Phương pháp lập trình hướng đối tượng. Đa hình Phương pháp lập trình hướng đối tượng. Nội dung Hàm ảo. Hàm thuần ảo. Hàm hủy ảo. Bài tập. Phương pháp lập trình hướng đối tượng. Nội dung Hàm ảo. Hàm thuần ảo. Hàm hủy ảo. Bài tập. Phương pháp lập trình hướng đối tượng. Hàm ảo Con trỏ đối tượng trong kế thừa: Truy xuất đối tượng bằng con trỏ => linh động. Truy xuất đối tượng kế thừa bằng con trỏ lớp cơ sở. Kiểu con trỏ quyết định phương thức được gọi liên kết tĩnh. Đối tượng kế thừa truyền vào hàm nhận tham số kiểu cơ sở. Đối tượng kế thừa có thể đóng vai trò đối tượng cơ sở. A obj; A *p; p = &obj; p = new A; // B kế thừa A. B obj; A *p = &obj; p->func(); // B kế thừa A. void func(A obj) { } B obj; func(obj); Phương pháp lập trình hướng đối tượng. Hàm ảo Ví dụ: class Animal { public: void talk() { cout Phương pháp lập trình hướng đối tượng. Hàm ảo void main() { Animal a; Cat c; Dog d; Animal *p; p = &a; p->talk(); p = &c; p->talk(); p = &d; p->talk(); } Animal talks!! Animal talks!! Animal talks!! Animal talks!! Animal talks!! Ví dụ: void giveATalk(Animal *p) { p->talk(); } void main() { Cat c; Dog d; giveATalk(&c); giveATalk(&d); } Phương pháp lập trình hướng đối tượng. Hàm ảo Khái niệm hàm ảo: Một phương thức của lớp. Mang tính ảo. Chuyển lời gọi hàm cho đúng đối tượng con trỏ đang trỏ đến. Liên kết động. Chỉ có ý nghĩa khi gọi thông qua con trỏ. Khai báo hàm ảo trong C++: virtual ; Phương pháp lập trình hướng đối tượng. Hàm ảo Ví dụ: class Animal { public: virtual void talk() { cout Phương pháp lập trình hướng đối . | Phương pháp lập trình hướng đối tượng. Đa hình Phương pháp lập trình hướng đối tượng. Nội dung Hàm ảo. Hàm thuần ảo. Hàm hủy ảo. Bài tập. Phương pháp lập trình hướng đối tượng. Nội dung Hàm ảo. Hàm thuần ảo. Hàm hủy ảo. Bài tập. Phương pháp lập trình hướng đối tượng. Hàm ảo Con trỏ đối tượng trong kế thừa: Truy xuất đối tượng bằng con trỏ => linh động. Truy xuất đối tượng kế thừa bằng con trỏ lớp cơ sở. Kiểu con trỏ quyết định phương thức được gọi liên kết tĩnh. Đối tượng kế thừa truyền vào hàm nhận tham số kiểu cơ sở. Đối tượng kế thừa có thể đóng vai trò đối tượng cơ sở. A obj; A *p; p = &obj; p = new A; // B kế thừa A. B obj; A *p = &obj; p->func(); // B kế thừa A. void func(A obj) { } B obj; func(obj); Phương pháp lập trình hướng đối tượng. Hàm ảo Ví dụ: class Animal { public: void talk() { cout << “Don’t talk!”; } }; class Cat: public Animal { public: void talk() { cout << “Meo meo!”; } }; class Dog: public Animal { public: void talk() {

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.