Bài giảng Kỹ thuật lập trình C/C++: Chương 10 - Lê Thành Sách (tt)

36 64 0
Bài giảng Kỹ thuật lập trình C/C++: Chương 10 - Lê Thành Sách (tt)

Đ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

Bài giảng Kỹ thuật lập trình C/C++ - Chương 10: Lập trình hướng đối tượng chủ đề nâng cao trình bày các nội dung: Đa thừa kế, đa thừa kế - thừa kế ảo, đa hình (polymorphism), đa hình - hàm có tính abstract,... Mời các bạn cùng tham khảo.

Chương 10 Lập trình hướng đối tượng chủ đề nâng cao -Lê Thành Sách Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Nội dung n n Đa thừa kế Đa thừa kế: thừa kế ảo n n n n Khởi động lớp cha thừa kế ảo Đa hình (polymorphism) Đa hình: hàm có tính abstract Tổng kết Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Đa thừa kế n Là gì? n Là lớp thừa kế thành viên từ nhiều lớp, ví dụ sau Lớp ConsultantManager PermanentManager, có đến lớp cha Trường hợp tổng quát: có nhiều cha http://www.uml-diagrams.org/generalization.html Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Đa thừa kế n Mô tả đa thừa kế ntn? n n Liệt kê lớp cha ví dụ sau Sử dụng dấu phẩy để ngăn cách Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Dùng dấu phẩy “,” để liệt kê lớp cha class }; class }; class }; class }; class }; class }; class }; class }; Employee{ TemporaryEmployee: public Employee{ PermanentEmployee: public Employee{ Consultant: public TemporaryEmployee{ Manager: public Employee{ ConsultantManager: public Consultant, public Manager{ Director: public Manager{ PermanentManager: public Manager, public PermanentEmployee{ Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Đa thừa kế n Sơ đồ nhớ đối tượng n Giả sử có hệ thống lớp hình vẽ, Cũng giả sử code C++ sinh slide trước n Xét dòng khai báo biến (tạo đối tượng) sau: n PermanentManager obj; n Bộ nhớ đối tượng “obj” tổ chức ntn? Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Vùng nhớ Employee Vùng nhớ Manager Vùng nhớ Employee Vùng nhớ PermanentEmployee Vùng nhớ PermanentManager Theo cách mô tả thừa kế slide trước: Bên đối tượng kiểu “PermanentManager” có đến đối tượng kiểu “Employee” hoàn toàn riêng biệt khác Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Đa thừa kế: Minh hoạ (I) n Xét sơ đồ đa thừa kế hình vẽ Hiện thực cho lớp cho slide Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa học Kỹ thuật Máy tính CuuDuongThanCong.com © 2017 Lập trình C/C++ https://fb.com/tailieudientucntt Đa thừa kế: Minh hoạ (I) Chứa tên lớp con: ClassB ClassC class ClassA{ private: Khởi động biến string derived_class_name; public: ClassA(string name): derived_class_name(name){ cout

Ngày đăng: 11/01/2020, 19:28

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan