Kỹ thuật lập trình - Chapter 5
Số trang: 42
Loại file: doc
Dung lượng: 157.50 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Có 2 khái niệm rất quan trọng đã làm nên toàn bộ thế mạnh của phương pháp lập trình hướng đối tượng đó là tính kế thừa (inheritance) và tính tương ứng bội (polymorphism). Tính kế thừa cho phép các lớp được xây dựng trên các lớp đã có. Trong chương này sẽ nói về sự thừa kế của các lớp.
Nội dung trích xuất từ tài liệu:
Kỹ thuật lập trình - Chapter 5 ch¬ng 5 DÉn xuÊt vµ thõa kÕ S¬ ®å 2: Líp A lµ c¬ së cña c¸c líp B, C vµ D Cã 2 kh¸i niÖm rÊt quan träng ®· lµm nªn toµn bé thÕ m¹nh 237 238 Acña ph¬ng ph¸p lËp tr×nh h íng ®èi tîng ®ã lµ tÝnh kÕ thõa(inheritance) vµ tÝnh t¬ng øng béi (polymorphism). TÝnh kÕthõa cho phÐp c¸c líp ® îc x©y dùng trªn c¸c líp ®· cã. Trong B C Dch¬ng nµy sÏ nãi vÒ sù thõa kÕ cña c¸c líp. S¬ ®å 3: Líp D dÉn xuÊt tõ 3 líp A, B, C § 1. Sù dÉn xuÊt vµ tÝnh thõa kÕ A B C1.1. Líp c¬ së vµ líp dÉn xuÊt Mét líp ®îc x©y dùng thõa kÕ mét líp kh¸c gäi lµ líp dÉn DxuÊt. Líp dïng ®Ó x©y dùng líp dÉn xuÊt gäi lµ líp c¬ së. S¬ ®å 4: Lîc ®å dÉn xuÊt tæng qu¸t Líp nµo còng cã thÓ lµ mét líp c¬ së. H¬n thÕ n÷a, mét lípcã thÓ lµ c¬ së cho nhiÒu líp dÉn xuÊt kh¸c nhau. §Õn l ît A B Cm×nh, líp dÉn xuÊt l¹i cã thÓ dïng lµm c¬ së ®Ó x©y dùng c¸clíp d©n xuÊt kh¸c. Ngoµi ra mét líp cã thÓ dÉn xuÊt tõ nhiÒulíp c¬ së. D E Díi ®©y lµ mét sè s¬ ®å vÒ quan hÖ dÉn xuÊt cña c¸c líp: S¬ ®å 1: Líp B dÉn xuÊt tõ líp A, líp C dÉn xuÊt tõ líp B A F G H TÝnh thõa kÕ: Mét líp dÉn xuÊt ngoµi c¸c thµnh phÇn cña riªng nã, nã cßn ®îc thõa kÕ tÊt c¶ c¸c thµnh phÇn cña c¸c líp B c¬ së cã liªn quan. VÝ dô trong s¬ ®å 1 th× líp C ® îc thõa kÕ c¸c thµnh phÇn cña c¸c líp B vµ A. Trong s¬ ®å 3 th× líp D ® îc thõa kÕ c¸c thµnh phÇn cña c¸c líp A, B vµ C. Trong s¬ ®å 4 C th× líp G ®îc thõa kÕ c¸c thµnh phÇn cña c¸c líp D, E, A, B vµ C. 1.2. C¸ch x©y dùng líp d©n xuÊt Gi¶ sö ®· ®Þnh nghÜa c¸c líp A vµ B. §Ó x©y dùng líp C 1.4. Thõa kÕ c¸c thµnh phÇn d÷ liÖu (thuéc tÝnh)d©n xuÊt tõ A vµ B, ta viÕt nh sau: C¸c thuéc tÝnh cña líp c¬ së ® îc thõa kÕ trong líp dÉn class C : public A, public B xuÊt. Nh vËy tËp thuéc tÝnh cña líp dÉn xuÊt sÏ gåm: c¸c thuéc tÝnh míi khai b¸o trong ®Þnh nghÜa líp dÉn xuÊt vµ c¸c { thuéc tÝnh cña líp c¬ së. private: Tuy vËy trong líp dÉn xuÊt kh«ng cho phÐp truy nhËp ®Õn // Khai b¸o c¸c thuéc tÝnh c¸c thuéc tÝnh private cña líp c¬ së. public: Chó ý: Cho phÐp ®Æt trïng tªn thuéc tÝnh trong c¸c líp c¬ // C¸c ph¬ng thøc së vµ líp dÉn xuÊt. }; VÝ dô: 239 240 class A1.3. Thõa kÕ private vµ public { Trong vÝ dô trªn, líp C thõa kÕ public c¸c líp A vµ B. NÕu private:thay tõ kho¸ public b»ng private, th× sù thõa kÕ lµ private. int a, b, c; Chó ý: NÕu bá qua kh«ng dïng tõ kho¸ th× hiÓu lµ private,vÝ dô nÕu ®Þnh nghÜa: public: class C : public A, B ... { ...
Nội dung trích xuất từ tài liệu:
Kỹ thuật lập trình - Chapter 5 ch¬ng 5 DÉn xuÊt vµ thõa kÕ S¬ ®å 2: Líp A lµ c¬ së cña c¸c líp B, C vµ D Cã 2 kh¸i niÖm rÊt quan träng ®· lµm nªn toµn bé thÕ m¹nh 237 238 Acña ph¬ng ph¸p lËp tr×nh h íng ®èi tîng ®ã lµ tÝnh kÕ thõa(inheritance) vµ tÝnh t¬ng øng béi (polymorphism). TÝnh kÕthõa cho phÐp c¸c líp ® îc x©y dùng trªn c¸c líp ®· cã. Trong B C Dch¬ng nµy sÏ nãi vÒ sù thõa kÕ cña c¸c líp. S¬ ®å 3: Líp D dÉn xuÊt tõ 3 líp A, B, C § 1. Sù dÉn xuÊt vµ tÝnh thõa kÕ A B C1.1. Líp c¬ së vµ líp dÉn xuÊt Mét líp ®îc x©y dùng thõa kÕ mét líp kh¸c gäi lµ líp dÉn DxuÊt. Líp dïng ®Ó x©y dùng líp dÉn xuÊt gäi lµ líp c¬ së. S¬ ®å 4: Lîc ®å dÉn xuÊt tæng qu¸t Líp nµo còng cã thÓ lµ mét líp c¬ së. H¬n thÕ n÷a, mét lípcã thÓ lµ c¬ së cho nhiÒu líp dÉn xuÊt kh¸c nhau. §Õn l ît A B Cm×nh, líp dÉn xuÊt l¹i cã thÓ dïng lµm c¬ së ®Ó x©y dùng c¸clíp d©n xuÊt kh¸c. Ngoµi ra mét líp cã thÓ dÉn xuÊt tõ nhiÒulíp c¬ së. D E Díi ®©y lµ mét sè s¬ ®å vÒ quan hÖ dÉn xuÊt cña c¸c líp: S¬ ®å 1: Líp B dÉn xuÊt tõ líp A, líp C dÉn xuÊt tõ líp B A F G H TÝnh thõa kÕ: Mét líp dÉn xuÊt ngoµi c¸c thµnh phÇn cña riªng nã, nã cßn ®îc thõa kÕ tÊt c¶ c¸c thµnh phÇn cña c¸c líp B c¬ së cã liªn quan. VÝ dô trong s¬ ®å 1 th× líp C ® îc thõa kÕ c¸c thµnh phÇn cña c¸c líp B vµ A. Trong s¬ ®å 3 th× líp D ® îc thõa kÕ c¸c thµnh phÇn cña c¸c líp A, B vµ C. Trong s¬ ®å 4 C th× líp G ®îc thõa kÕ c¸c thµnh phÇn cña c¸c líp D, E, A, B vµ C. 1.2. C¸ch x©y dùng líp d©n xuÊt Gi¶ sö ®· ®Þnh nghÜa c¸c líp A vµ B. §Ó x©y dùng líp C 1.4. Thõa kÕ c¸c thµnh phÇn d÷ liÖu (thuéc tÝnh)d©n xuÊt tõ A vµ B, ta viÕt nh sau: C¸c thuéc tÝnh cña líp c¬ së ® îc thõa kÕ trong líp dÉn class C : public A, public B xuÊt. Nh vËy tËp thuéc tÝnh cña líp dÉn xuÊt sÏ gåm: c¸c thuéc tÝnh míi khai b¸o trong ®Þnh nghÜa líp dÉn xuÊt vµ c¸c { thuéc tÝnh cña líp c¬ së. private: Tuy vËy trong líp dÉn xuÊt kh«ng cho phÐp truy nhËp ®Õn // Khai b¸o c¸c thuéc tÝnh c¸c thuéc tÝnh private cña líp c¬ së. public: Chó ý: Cho phÐp ®Æt trïng tªn thuéc tÝnh trong c¸c líp c¬ // C¸c ph¬ng thøc së vµ líp dÉn xuÊt. }; VÝ dô: 239 240 class A1.3. Thõa kÕ private vµ public { Trong vÝ dô trªn, líp C thõa kÕ public c¸c líp A vµ B. NÕu private:thay tõ kho¸ public b»ng private, th× sù thõa kÕ lµ private. int a, b, c; Chó ý: NÕu bá qua kh«ng dïng tõ kho¸ th× hiÓu lµ private,vÝ dô nÕu ®Þnh nghÜa: public: class C : public A, B ... { ...
Tìm kiếm theo từ khóa liên quan:
hàm trong C lập trình C ngôn ngữ lập trình lập trình máy tính giáo án lập trì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 276 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 266 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 265 0 0 -
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 237 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 226 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
15 trang 200 0 0
-
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 184 0 0