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

Bài giảng Phương pháp lập trình hướng đối tượng: Đa hình - Trần Phước Tuấn

22 5 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,77 MB

Nội dung

Bài giảng Phương pháp lập trình hướng đối tượng: Đa hình do Trần Phước Tuấn cung cấp cho người học các kiến thức về hàm ảo, hàm thuần ảo, hàm hủy ảo. Cuối bài giảng là các bài tập vận dụng giúp người học có thể ôn tập và vận dụng lý thuyết.

Đa hình Phương pháp lập trình hướng đối tượng Nội dung     Hàm ảo Hàm ả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 ả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 kế thừa:     Truy xuất đối tượng trỏ => linh động Truy xuất đối tượng kế thừa trỏ lớp sở Kiểu trỏ định phương thứ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 sở  Đối tượng kế thừa đóng vai trị đối tượng sở A obj; A *p; p = &obj; p = new A; Phương pháp lập trình hướng đối tượng // 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); Hàm ảo  Ví dụ: class Animal { public: void talk() { cout talk(); Animal talks!! p = &d; p->talk(); Animal talks!! } 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 lớp  Mang tính ảo  Chuyển lời gọi hàm cho đối tượng trỏ trỏ đến  Liên kết động  Chỉ có ý nghĩa gọi thông qua trỏ  Khai báo hàm ảo 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 Talk(); Cat talks!! p = &d; p->Talk(); Dog talks!! } Phương pháp lập trình hướng đối tượng Hàm ảo  Sử dụng hàm ảo để làm gì?  Gọn gàng, đơn giản, uyển chuyển, linh động  Chương trình có tính dễ mở rộng, nâng cấp void giveATalk(Animal *p) { p->talk(); } Phương pháp lập trình hướng đối tượng void giveATalk(Animal obj, int iType) { if (iType == 0) { Cat c = (Cat)obj; c.talk(); } else if (iType == 1) { Dog d = (Dog)obj; d.talk(); } } 10 Nội dung     Hàm ảo Hàm ảo Hàm hủy ảo Bài tập Phương pháp lập trình hướng đối tượng 11 Hàm ảo  Có số hàm ảo khơng thể cài đặt khơng có ý nghĩa cài đặt lớp sở class Animal { public: virtual void talk() { cout

Ngày đăng: 08/05/2021, 18:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN