Bài giảng Lập trình hướng đối tượng và C++: Chương 8 Thừa kế. Sau khi học xong chương này người học có thể hiểu về: Thừa kế đơn, thừa kế bội, liên kết tĩnh và liên kết động. Đây là tài liệu học tập và giảng dạy dành cho sinh viên ngành tham khảo. | N i dung • Th a k ñơn Chương 8 • Th a k b i TH A K • Liên k t tĩnh và liên k t ñ ng 1 Th a k ñơn Th a k ñơn • D ng th a k Khái ni m K th a t các l p ñã có t trư c. => Không ph i ñ nh nghĩa nhi u. Thi t k ñơn gi n hơn. Ích l i: có th t n d ng l i Các thu c tính chung Các hàm có thao tác tương t • Khai báo class L p cơ s L P CON (l p d n xu t) }; 3 Th a k protected _ _ _ public private protected protected Th a k private public L P CHA (L p cơ s ) Th a k public private : { // khai báo l p con 2 protected private protected class A { int x; void Fx(); public: int y; void Fy(); protected: int z; void Fz(); }; // Th a class B // A là class C // A là class D // A: l class E k : l : l : p : d ng private A { . }; p cơ s riêng c a C private A { }; p cơ s chung c a D public A { }; cơ s ñư c b o v protected A { . }; 4 Th a k ñơn Th a k ñơn • Quy n truy xu t trong l p con class Diem { int x, y; public: void GanDiem(int h,int t) { x = h; y = t; } void HienDiem() { cout:: LopCon::LopCon():LopCha() { a = 1; } void LopCon::Hien() { cout g i hàm c a l p con. – G i hàm c a l p cha : ::( ) 11 class Diem { int x, y; public: . void Hien() { coutHamThanhVien(); LopCon b; LopCon *pb=&b; //L p con pb->HamThanhVien(); pa= &b; //L p cha pa->HamThanhVien(); pb= &a; //Báo l i 17 } Liên k t tĩnh và liên k t ñ ng – Cú pháp: khai báo thêm t khóa virtual trư c hàm. – Dùng chung v i tính liên k t ñ ng => tính ña hình class LopCha { . public: virtual void HamAo() { } }; class LopCon : public LopCha { . public: void HamAo() { } }; 18 Liên k t tĩnh và liên k t ñ ng • Liên k t ñ ng Hàm hoàn toàn o – Con tr ñang tr ñ n ñ i tư ng nào, khi g i hàm o s g i hàm c a l p t o ra ñ i tư ng ñó. – Tính ch t c a ñ i tư ng ñư c nh n bi t khi ñang th c thi. Cú pháp: ch khai báo tên trong l p cha và gán=0. Hàm hoàn toàn o ph i ñ nh nghĩa l i trong l p con. class LopCha { . public: virtual void HamHT_Ao()=0; }; • Hàm o class LopCon:public .