OOP in C# - GV: Phạm Đình Sắc – [email protected]1 Kế th thừa a ( inheritance) inheritance) 1 Xây dựng lớp có tính kế thừa Xây d Xây dựng l ng lớ p p có tí nh k nh kế th thừa OOP in C# - GV: Phạm Đình Sắc – [email protected]2 Kh Khá i ni i niệ m k m kế th thừa trong C# a trong C# Kế th thừa l a là cơ ch cơ chế cho ph cho phé p đ p đị nh ngh nh nghĩ a m a một t lớp m p mới (k i (kế th thừa t a từ lớp cha) p cha) Sau đ Sau đó xây d xây dựng thêm c ng thêm cá c thu c thuộc t c tí nh v nh và cá c c phương th phương thức riêng c c riêng của l a lớp đ p đó. Lớp cha trong s p cha trong sự kế th thừa đư a được g c gọi l i là lớp p cơ s cơ sở (base class) (base class) Lớp con trong s p con trong sự kế th thừa đư a được g c gọi l i là lớp p dẫ n xu n xuấ t (derived class) t (derived class) Derived class Derived class có hầu hết các thành phần giống như lớp cơ sở trừ ???? private,constructor, static, destructor
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
KhKháái nii niệệm km kếế ththừừa trong C#a trong C#
KKếế ththừừa la làà cơ ch cơ chếế cho phcho phéép đp địịnh nghnh nghĩĩa ma mộột t llớớp mp mớới (ki (kếế ththừừa ta từừ llớớp cha)p cha) Sau đSau đóó xây dxây dựựng thêm cng thêm cáác thuc thuộộc tc tíính vnh vàà ccáác c phương thphương thứức riêng cc riêng củủa la lớớp đp đóó..LLớớp cha trong sp cha trong sựự kkếế ththừừa đưa đượợc gc gọọi li làà llớớp p cơ scơ sởở (base class)(base class)LLớớp con trong sp con trong sựự kkếế ththừừa đưa đượợc gc gọọi li làà llớớp p ddẫẫn xun xuấất (derived class)t (derived class)Derived class Derived class có hầu hết các thành phần giống như lớp cơ sở trừ ???? private,constructor, static, destructor
Cú pháp định nghĩa lớp dẫn xuất (lớp con):class TênLớpCon : TênLớpCha{ // Thân lớp con}Hoặcclass TênLớpDẫnXuất : TênLớpCơSở{ // Thân lớp dẫn xuất}class DerivedClass: BaseClass{ // body of derived class }
GGọọi Constructor ci Constructor củủa la lớớp Cơ sp Cơ sởở
Vì lớp dẫn xuất không thể kế thừa phương thức tạo lập (ConstructorConstructor) của lớp cơ sởnên một lớp dẫn xuất phải thực thi phương thức tạo lập riêng của mình.
Nếu lớp cơ sở có một phương thức tạo lập mặc định (tức là không có phương thức tạo lập hoặc phương thức tạo lập không có tham số) thì phương thức tạo lập của lớp dẫn xuất được định nghĩa như cách thông thường.
publicpublic Công cCông cộộng, ng, không gikhông giớới hi hạạnn
privateprivate Riêng tưRiêng tư, , chchỉỉ đư đượợc truy xuc truy xuấất t trong ntrong nộội bi bộộ ccủủa la lớớp đp đóó mmàà thôithôi
protected protected
ĐưĐượợc bc bảảo vo vệệ, , chchỉỉ đư đượợc truy xuc truy xuấất t trong ntrong nộội bi bộộ ccủủa la lớớp đp đóó vvàà ccáác c llớớp con (lp con (lớớp dp dẫẫn xun xuấất) kt) kếế ththừừa ta từừllớớp đp đóó
Tau a = Tau a = newnew Tau();Tau();a.Chay();a.Chay();ConsoleConsole.WriteLine(a.nhienlieu);.WriteLine(a.nhienlieu);TauChien b = new TauChien();TauChien b = new TauChien();b.Chay();b.Chay();ConsoleConsole.WriteLine(b.nhienlieu);.WriteLine(b.nhienlieu);
}}} } // nhienlieu of Tau class khai b// nhienlieu of Tau class khai bááo private or protected ?o private or protected ?
BBàài ti tậập:p:1.1. Đ Đọọc lc lạại bi bàài gii giảảngng2. L2. Lààm cm cáác bc bàài VD & bi VD & bàài ti tậập trong GTp trong GT3.3. Đ Đọọc bc bàài: i: KKếế ththừừaa4. Bu4. Buổổi ti tớới thi thảảo luo luậận & kin & kiểểm tra bm tra bàài ci cũũ