Bài giảng Phương pháp lập trình hướng đối tượng: Đa hình
Số trang: 22
Loại file: ppt
Dung lượng: 839.00 KB
Lượt xem: 1
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình hướng đối tượng: Đa hìnhĐa hìnhPhương pháp lập trình hướng đối tượng. 1Nộ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. 2Nộ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. 3Hà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; // B kế thừa A. // B kế thừa A. A *p; B obj; void func(A obj) { } p = &obj; A *p = &obj; B obj; p = new A; p->func(); func(obj);Phương pháp lập trình hướng đối tượng. 4Hàm ảo Ví dụ: class Animal { public: Anim al void talk() { cout Hàm ảo Ví dụ: void giveATalk(Animal *p) void main() { { p->talk(); Animal a; } Cat c; Dog d; void main() Animal *p; { Animal Cat c; p = &a; Animaltalks!! talks!! p->talk(); Dog d; Animal Animaltalks!! talks!! p = &c; Animal Animaltalks!! talks!! giveATalk(&c); p->talk(); giveATalk(&d); } Animal Animaltalks!! talks!! p = &d; Animal Animaltalks!! talks!! p->talk(); }Phương pháp lập trình hướng đối tượng. 6Hà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. 7Hàm ảo Ví dụ: class Animal { public: virtual void talk() { cout Hàm ảo Ví dụ: void giveATalk(Animal *p) void main() { { p->talk(); Animal a; } Cat c; Dog d; void main() Animal *p; { Animal Cat c; p = &a; Animaltalks!! talks!! p->Talk(); Dog d; Cat Cattalks!! talks!! p = &c; Cat Cattalks!! talks!! giveATalk(&c); p->Talk(); giveATalk(&d); } Dog Dogtalks!! talks!! p = &d; Dog Dogtalks!! talks!! p->Talk(); }Phương pháp lập trình hướng đối tượng. 9Hà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) void giveATalk(Animal obj, int iType) { { p->talk(); if (iType == 0) } ...
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình hướng đối tượng: Đa hìnhĐa hìnhPhương pháp lập trình hướng đối tượng. 1Nộ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. 2Nộ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. 3Hà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; // B kế thừa A. // B kế thừa A. A *p; B obj; void func(A obj) { } p = &obj; A *p = &obj; B obj; p = new A; p->func(); func(obj);Phương pháp lập trình hướng đối tượng. 4Hàm ảo Ví dụ: class Animal { public: Anim al void talk() { cout Hàm ảo Ví dụ: void giveATalk(Animal *p) void main() { { p->talk(); Animal a; } Cat c; Dog d; void main() Animal *p; { Animal Cat c; p = &a; Animaltalks!! talks!! p->talk(); Dog d; Animal Animaltalks!! talks!! p = &c; Animal Animaltalks!! talks!! giveATalk(&c); p->talk(); giveATalk(&d); } Animal Animaltalks!! talks!! p = &d; Animal Animaltalks!! talks!! p->talk(); }Phương pháp lập trình hướng đối tượng. 6Hà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. 7Hàm ảo Ví dụ: class Animal { public: virtual void talk() { cout Hàm ảo Ví dụ: void giveATalk(Animal *p) void main() { { p->talk(); Animal a; } Cat c; Dog d; void main() Animal *p; { Animal Cat c; p = &a; Animaltalks!! talks!! p->Talk(); Dog d; Cat Cattalks!! talks!! p = &c; Cat Cattalks!! talks!! giveATalk(&c); p->Talk(); giveATalk(&d); } Dog Dogtalks!! talks!! p = &d; Dog Dogtalks!! talks!! p->Talk(); }Phương pháp lập trình hướng đối tượng. 9Hà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) void giveATalk(Animal obj, int iType) { { p->talk(); if (iType == 0) } ...
Tìm kiếm theo từ khóa liên quan:
Phương pháp lập trình hướng đối tượng Lập trình hướng đối tượng Bài giảng Lập trình hướng đối tượng Hàm thuần ảo Tính đa hìnhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 270 0 0 -
101 trang 199 1 0
-
14 trang 133 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 96 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 95 0 0 -
265 trang 77 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 75 0 0 -
33 trang 67 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 51 0 0