nền tảng lập trình c bài 5 tính thừa kế và đa hình

42 326 1
nền tảng lập trình c bài 5 tính thừa kế và đa hình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 1 HOCLAPTRINHWEB.COM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 2 HOCLAPTRINHWEB.COM Bài 5: Tính thừa kế Đa hìnhTính thừa kế (Inheritance) • Lớp trừu tượng (Abstract) • Lớp niêm phong (Sealed) • Tính đa hình của lớp (Polymorphism) - 8 tiết - TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 3 HOCLAPTRINHWEB.COM Tính thừa kế (Inheritance) • Khái niệm • Xây dựng lớp kế thừa TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 4 HOCLAPTRINHWEB.COM Khái niệm • Tính thừa kế là một khái niệm nền tảng cho phép tái sử dụng mã lệnh đang tồn tại điều này giúp tiết kiệm được thời gian trong việc lập trình • Các class có thể thừa kế từ class khác. Class mới được gọi là class được dẫn xuất (hay còn gọi là class con) sẽ được quyền truy xuất đến tất cả các thành viên dữ liệu các phương thức không được biểu thị private của class cơ sở (hay còn gọi là class cha) TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 5 HOCLAPTRINHWEB.COM Xây dựng lớp kế thừa • Cú pháp: Tên_class_con : Tên_class_cơ_sở • Ví dụ 1:  Xét class cơ sở với khai báo như sau: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 6 HOCLAPTRINHWEB.COM Xây dựng lớp kế thừa • Ví dụ 1:  Xét class được dẫn xuất từ class cơ sở với khai báo như sau: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 7 HOCLAPTRINHWEB.COM Xây dựng lớp kế thừa • Ví dụ 1:  Kết quả xuất ra màn hình khi thực thi ví dụ trên: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 8 HOCLAPTRINHWEB.COM Xây dựng lớp kế thừa • Ví dụ 2:  Xét class cơ sở với khai báo như sau: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 9 HOCLAPTRINHWEB.COM Xây dựng lớp kế thừa • Ví dụ 2:  Xét hai class được dẫn xuất từ class cơ sở với khai báo như sau: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 10 HOCLAPTRINHWEB.COM Xây dựng lớp kế thừa • Ví dụ 2:  Đoạn lệnh khai báo khởi tạo đối tượng như sau: [...]... là class c sở (base class) mà c c class kh c có thể đư c dẫn xuất từ nó C c class không phải là class trừu tượng (non-abstract class) đư c gọi là lớp c thể (concrete class) class trừu tượng c thể c c hai loại phương th c: phương th c trừu tượng phương th c cụ thể Một kiểu đư c dẫn xuất từ một lớp c sở trừu tượng thừa kế tất c c c thành viên kiểu c sở bao gồm sự th c thi mọi phương th c HOCLAPTRINHWEB.COM... HOCLAPTRINHWEB.COM 13 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Khái niệm • Khi nào thì sử dụng class trừu tượng?   Nếu muốn tạo c c class mà c c class này sẽ chỉ là c c class c sở, không muốn bất c ai tạo c c đối tượng c a c c kiểu class này Class trừu tượng thường đư c dùng để biểu thị rằng nó là class không đầy đủ rằng nó đư c dự định sẽ chỉ đư c dùng như là một class c sở HOCLAPTRINHWEB.COM... đổi ho c thay thế sự c i đặt c a class cha với một c i đặt mới C c thành viên virtual ho c abstract c a class cha cho phép c c class dẫn xuất ghi đè chúng Phương th c abstract th c chất là một phương th c virtual ngầm định HOCLAPTRINHWEB.COM 22 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Lớp niêm phong (Sealed) • • Khái niệm Xây dựng lớp niêm phong HOCLAPTRINHWEB.COM 23 TRƯỜNG ĐẠI H C KHOA... báo gọi th c thi như sau: HOCLAPTRINHWEB.COM 19 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp trừu tượng • Ví dụ 2:  Kết quả xuất ra màn hình: HOCLAPTRINHWEB.COM 20 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp trừu tượng • Chú ý:      M c tiêu c a một class trừu tượng là cung c p định nghĩa chung c a một class c sở mà nhiều class đư c dẫn... KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Khái niệm • Từ khóa sealed đư c sử dụng để biểu thị khi khai báo một class nhằm ngăn ngừa sự dẫn xuất từ một class, điều này c ng giống như vi c ngăn c m một class nào đó c class con • Một class sealed c ng không thể là một class trừu tượng • C c structs trong C# đư c ngầm định sealed Do vậy, chúng không thể đư c thừa kế HOCLAPTRINHWEB.COM 24 TRƯỜNG ĐẠI H C KHOA... HOCLAPTRINHWEB.COM 14 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp trừu tượng • C pháp: abstract class tên_class { // C c thành viên c a class trừu tượng } • Ví dụ 1:  Xét class trừu tượng đư c khai báo như sau: HOCLAPTRINHWEB.COM 15 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp trừu tượng HOCLAPTRINHWEB.COM 16 TRƯỜNG ĐẠI H C KHOA... (Overloading) HOCLAPTRINHWEB.COM 32 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Ghi đè (overriding) • Khái niệm ghi đè (overriding) đư c dùng để định nghĩa lại phương th c của lớp c sở (lớp cha) trong lớp dẫn xuất (lớp con kế thừa) • C c điểm c n lưu ý khi th c hiện ghi đè:    Phương th c ở lớp c sở lớp dẫn xuất phải c c ng dạng hàm (signature) kiểu dữ liệu trả về Phương th c lớp c sở... H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp niêm phong • C pháp: sealed class tên_class { // C c thành viên c a class trừu tượng } • Ví dụ:  Xét class niêm phong đư c khai báo như sau: HOCLAPTRINHWEB.COM 25 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp niêm phong HOCLAPTRINHWEB.COM 26 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG... H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Xây dựng lớp kế thừa • Ví dụ 2:  Kết quả xuất ra màn hình khi th c thi đoạn lệnh trên: HOCLAPTRINHWEB.COM 11 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Lớp trừu tượng (Abstract) • • Khái niệm Xây dựng lớp trừu tượng HOCLAPTRINHWEB.COM 12 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Khái niệm • • • • class trừu tượng th c chất... đư c khai báo với từ khóa virtual Phương th c lớp dẫn xuất phải đư c khai báo với từ khóa override HOCLAPTRINHWEB.COM 33 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Ghi đè (overriding) • Khái niệm ghi đè (overriding) đư c dùng để định nghĩa lại phương th c của lớp c sở (lớp cha) trong lớp dẫn xuất (lớp con kế thừa) • C c điểm c n lưu ý khi th c hiện ghi đè:    Phương th c ở lớp c . dụng class trừu tượng?  Nếu muốn tạo c c class mà c c class này sẽ chỉ là c c class c sở, và không muốn bất c ai tạo c c đối tượng c a c c kiểu class này.  Class trừu tượng thường đư c dùng. H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C 1 HOCLAPTRINHWEB.COM TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C 2 HOCLAPTRINHWEB.COM Bài 5: Tính thừa kế và Đa hình • Tính. niệm nền tảng cho phép tái sử dụng mã lệnh đang tồn tại và điều này giúp tiết kiệm đư c thời gian trong vi c lập trình • C c class c thể thừa kế từ class kh c. Class mới đư c gọi là class

Ngày đăng: 23/05/2014, 15:57

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan