Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
176,47 KB
Nội dung
Chương 4. Kế thừa lớp đối tượng Cập nhật: 15 tháng 03 năm 2013 #2 Nội dung !"#$% $#$&'#$% $(')*+,-.#$% #3 Đặt vấn đề /012345+6.&'78-)9 7: 45+ 6. ;. <. " ! 3 * = .5 ). ) (' .)+ >?@A@>BBC 7:45+6.;.<.D0EFG=".)+.H IF'0%>CJ,KFL #4 Đặt vấn đề Cch 1:M1N&'78-'OP'&+F:*&'78,-.;. <.,FM1N)#Q,RSK.2$ST.,U#G 1<.&'78KN.J.D 4 #5 Đặt vấn đề Cch 2:V5+6.&'78&2=('&&'78W!X.; Cch 3:M-Y'&'782QN-&'78&)2G1N-+F: *ST.,UG#H-6 *X.#K,=.Z('(Z 5 #6 Đặt vấn đề 7:GT$-'Y'#-&'78&)&'78[&>W 12JJ. #7 Đặt vấn đề ST.6-ST.,U2,-Z\S&.,F+"]D5\2SP 4S>2Q#E6I78LS.]D5\G^.2_2Q# 8-(+:1<.&'78J.)12J=W':; #X.'0WX.;2Q45+6.N%2: 7 #8 Khái niệm 8 $%-'Y'#->&'`)>&'a4b%&'c2G`dGb 0=")2_2Q*cZ ),`GQGF^.=" )^.)2=.& #9 Khái niệm 9 $%Q #0H.1<.&'232SP2e.f 7GQ2e.f&'2WSP.&6,F>+!&'2WSP.23G g h&'Gg2SP.i)&'TKIL)&'#$%2SP.i)&' a4bI,L #10 Khái niệm 10 A B j"b. k"b*c l" b*` - - *- - - *- *- - * - - * + * + + + * + * + * + + + * + C A B - - - - - - - - - - + + + + + + + + + + * * * * * [...]... th c thiết lập c a lớp cha sẽ đươ c gọi trư c Sau đó mới là phương th c thiết lập c a lớp con Khi hủy đới tượng: Phương th c hủy c a lớp con sẽ đươ c gọi trư c Sau đó mới là phương th c hủy c a lớp cha 28 Phương th c thiết lập & huỷ trong kế thừa #29 A B C Phương th c thiết lập & huỷ trong kế thừa #30 Trong phương th c thiết lập c a lớp dẫn x́t, chúng ta c thể chỉ định phương th c thiết lập. .. thiết lập nào c a lớp c sở sẽ đươ c gọi th c hiện Nếu khơng chỉ định, phương th c thiết lập mă c định c a lớp c sở sẽ đươ c gọi 30 Phương th c thiết lập & huỷ trong kế thừa #31 class A { public A(){} public A(int){} } class B : public A { public B(int) //Th c hiện A() {} } 31 Phương th c thiết lập & huỷ trong kế thừa #32 class A { public A(){} public A(int){} } class B : public A { public B(int) :... //Th c hiện A(int) {} } 32 Bài tập #33 Thiết kế chương trình quản lý c c đối tượng sau trong một Viện khoa h c: nhà khoa h c, nhà quản lý và NV phòng thí nghiệm C c thành phần dữ liệu c a c c đối tượng trên: Nhà khoa h c: họ tên, năm sinh, bằng c p, ch c vụ, số bài báo đã c ng bố, số ngày c ng trong tháng, b c lương Nhà quản lý họ tên, năm sinh, bằng c p, ch c vụ, số ngày c ng trong tháng, b c lương... hợp tổng qt c a B B: Là trường hợp đă c biệt c a A B A: Là trường hợp tổng qt c a B và C A B, C: Là trường hợp đă c biệt c a A B C 11 VD: Lớp ngày cho ngân hàng và sinh viên #12 CDate CDateNH CDateSV 12 Khai báo #13 class TênLớpCha { Th c tính và phương th c của lớp cha } class TênLớpDẫnX́t : TênLớpCha { Th c tính và phương th c bổ sung c a } 13 lớp dẫn x́t Khai báo # 14 C 2 c ch để định... ngầm định đó là kế thừa public 26 Phạm vi kế thừa #27 public: thành phần public & protected c a lớp c sở là thành phần public & protected c a lớp dẫn x́t protected: thành phần public & protected c a lớp c sở là thành phần protected c a lớp dẫn x́t private: thành phần public & protected c a lớp c sở là thành phần private c a lớp dẫn x́t 27 Phương th c thiết lập & huỷ trong kế thừa #28 Khi... phương th c trong Main() #25 static void Main(string[] args) { CBIENCHE nvbc = new CBIENCHE(); nvbc.Nhap(); CHOPDONG nvhd = new CHOPDONG(); nvhd.Nhap(); Console.WriteLine("\nNhan vien bien che: "); nvbc.Xuat(); Console.WriteLine("\nNhan vien hop dong: "); nvhd.Xuat(); 25 Phạm vi kế thừa #26 C 3 phạm vi kế thừa: public protected private Lưu ý: Nếu khơng nói rõ là phạm vi kế thừa gì, chúng ta... biên chế c thơng tin riêng là b c lương Nhân viên hợp đồng c thơng tin riêng là sớ giờ làm 17 Ví dụ #18 Ta c c y kế thừa sau: CNHANVIEN CBIENCHE CHOPDONG 18 VD dùng từ khố new #19 class CNHANVIEN { protected int maso; protected string hoten; public void Nhap() { Console.Write("Nhap ma so nhan vien: "); maso = int.Parse(Console.ReadLine()); Console.Write("Nhap ho ten nhan vien: "); hoten = Console.ReadLine();... sung cho phương th c đã c sẵn ở lớp cha trong lớp dẫn x́t (phương th c lớp dẫn x́t trùng tên với phương th c lớp cha) Dùng từ khóa new Dùng từ khóa virtual và override 14 Khai báo – Dùng từ khóa new #15 class COSO class DANXUAT : COSO { { protected kiểu data1; private kiểu data3; protected kiểu data2; public new void Method1() public void Method1() {} {} public void Method4() public void... phòng thí nghiệm: họ tên, năm sinh, bằng c p, lương trong tháng Th c hiện c c yêu c u sau: C c phương th c thiết lập để nhập liệu, biết rằng nhân viên phòng thí nghiệm lãnh lương khoán, c n lương c a nhà khoa h c và nhà quản lý bằng số ngày c ng trong tháng * b c lương Xuất dữ liệu ra màn hình In tổng lương đã chi trả cho từng loại đối tượng FAQs # 34 34 ... báo – Dùng virtual & override #16 class COSO class DANXUAT : COSO { { protected kiểu data1; private kiểu data3; protected kiểu data2; public override void Method1() public virtual void Method1() {} {} public void Method4() public virtual void Method2() {} {} } } Ví dụ #17 Viết chương trình nhập x́t nhân viên, biết rằng gồm 2 loại nhân viên: Nhân viên biên chế và nhân viên hợp đồng Thơng tin c a . Chương 4. Kế thừa lớp đối tượng Cập. &'a 4 b n # 14 Khai báo 14 7Go2Q2e.f)2=.J.-'ST.;23GgK&' ,-.&'a 4 bI'ST.;&'a 4 b,O.F&'ST.;&'L 8O.%#G 8O.%#G,)-,, #15 Khai. vấn đề /0123 45 +6.&'78-)9 7: 45 + 6. ;. <. " ! 3 * = .5 ). ) (' .)+ >?@A@>BBC 7: 45 +6.;.<.D0EFG=".)+.H IF'0%>CJ,KFL #4 Đặt