Danh mục

Bài giảng Kỹ thuật lập trình: Bài 9 - TS. Đào Trung Kiên

Số trang: 18      Loại file: pdf      Dung lượng: 762.86 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Kỹ thuật lập trình: Bài 9 do TS. Đào Trung Kiên biên soạn trình bày các nội dung sau: Khái niệm kế thừa, kế thừa public, kế thừa private, thành phần protected, tổng kết các kiểu kế thừa, constructor và destructor trong kế thừa,...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Bài 9 - TS. Đào Trung KiênBài 9: Kế thừa(Inheritance)1EE3490: Kỹ thuật lập trình – HK1 2017/2018TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiKhái niệmĐể quản lý nhân sự của công ty, ta có thể định nghĩa các lớp tương ứng vớicác vị trí làm việc của công ty:class Worker {private:string name;float salary;int level;public:string getName() {...}void pay() {...}void doWork() {...}...};class Manager {private:string name;float salary;int dept;public:string getName() {...}void pay() {...}void doWork() {...}...};class Director {private:string name;float salary;public:string getName() {...}void pay() {...}void doWork() {...}...};Cả 3 lớp trên đều có những biến và hàm giống hệt nhau về nội dung  tạora một lớp Employee chứa các thông tin chung đó để sử dụng lạiGiảm số code cần viếtDễ bảo trì, sửa đổi về sau2Sử dụng lại codeRõ ràng hơn về mặt logic trong thiết kế chương trìnhEE3490: Kỹ thuật lập trình – HK1 2017/2018TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiKhái niệm (tiếp)Lớp mẹ(hay lớp cơ sở)Các lớp con(hay lớp dẫn xuất)WorkerEmployeeManagerDirectorHai hướng thừa kế:Cụ thể hoá: lớp con là một trường hợp riêng của lớp mẹ (như ví dụ trên)Tổng quát hoá: mở rộng lớp mẹ (vd: Point2D thêm biến z để thành Point3D)Kế thừa cho phép các lớp con sử dụng các biến và phương thứccủa lớp mẹ như của nó, trừ các biến và phương thức privateKế thừa với public và private:3public: các thành phần public của lớp mẹ vẫn là public trong lớp conprivate: toàn bộ các thành phần của lớp mẹ trở thành private của lớp conEE3490: Kỹ thuật lập trình – HK1 2017/2018TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiKế thừa publicclass Employee {private:string name;float salary;public:...string getName() {...}void pay() {...}};class Worker : public Employee {private:int level;public:...void doWork() {...}void show() {cout

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