Danh mục

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    
Thư viện của tui

Phí tải xuống: 9,000 VND Tải xuống file đầy đủ (42 trang) 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 ... { ...

Tài liệu được xem nhiều: