Bài giảng Phương pháp lập trình hướng đối tượng – Tuần 6: Kế thừa” cung cấp cho người học các kiến thức: Khái niệm kế thừa, tầm vực trong kế thừa, định nghĩa lại phương thức, quan hệ IS-A và HAS-A, bài tập áp dụng. | Bài giảng Phương pháp lập trình hướng đối tượng Tuần 6 Phạm Tú San Tuần 06 Kế thừa Nội dung Khái niệm kế thừa. Tầm vực trong kế thừa. Định nghĩa lại phương thức. Quan hệ IS-A và HAS-A. Bài tập. 2 Khái niệm kế thừa Vấn đề trùng lắp thông tin Nhiều lớp có thông tin giống nhau. Có 2 dạng A B x y z x y z Dạng chia sẻ A B Ø. a b c u v w Dạng mở rộng B A ε. Nhược điểm A B x y z x y z Xây dựng tốn kém. a b c Dung lượng lưu trữ lớn. Thay đổi phần chung khó khăn. Giải quyết tái sử dụng 3 Khái niệm kế thừa Khái niệm kế thừa Định nghĩa lớp mới dựa trên những lớp đã có. Lớp cơ sở lớp dùng để định nghĩa lớp mới. Lớp kế thừa lớp được định nghĩa từ lớp đã có. Lớp kế thừa thừa hưởng TẤT CẢ từ lớp cơ sở. O A x y z x y z A B B x y z x y z x y z a b c u v w a b c 4 Ví dụ kế thừa Thông tin Thông tin Họ tên. Họ tên. Mức lương. Mức lương. Số ngày nghỉ. Số ngày nghỉ. Lớp chủ nhiệm. Công việc Công việc Giảng dạy. GVCN Giáo viên Giảng dạy. Tính lương. Tính lương. Sinh hoạt chủ nhiệm. GiaoVien Ho Ten Muc Luong SoNgayNghi 5 GVCN Lop CN Khái niệm kế thừa Khai báo trong C class Loại kế thừa public private protected. Ví dụ class A public O private Khai báo thuộc tính mới của A. public Khai báo phương thức mới của A. 6 Khái niệm kế thừa Lớp kế thừa Lớp cơ sở Ví dụ class GiaoVien class GVCN public GiaoVien private private string mHoTen string mLopCN float mMucLuong public int mSoNgayNghi GVCN string HoTen public float fMucLuong GiaoVien string HoTen int iSoNgayNghi float fMucLuong string sLopCN int iSoNgayNghi void sinhHoatCN void giangDay float tinhLuong GVCN thừa hưởng TẤT CẢ thuộc tính và phương thức của GiaoVien 7 Khái niệm kế thừa Ví dụ void main GiaoVien gv1 Minh 500000 5 float fLuong1 GVCN gv2 Hanh 700000 3 11A float fLuong2 8 Một số lưu ý trong kế thừa A B Các thành phần thuộc tính và hành động public của A sẽ là các thành phần trong B Các thành phần private của A sẽ là 1 phần trong B nhưng chỉ được truy xuất qua các .