Bài giảng "Lập trình hướng đối tượng - Chương 5: Thừa kế" cung cấp cho người học các kiến thức: Vấn đề tái sử dụng code & các hình thức, lý do thừa kế, lớp cơ sở, lớp dẫn xuất, sử dụng lớp cơ sở, constructor và thừa kế,. nội dung chi tiết. | THỪA KẾ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, CHƯƠNG 5: 1 Vấn đề tái sử dụng code & các hình thức Lý do thừa kế Lớp cơ sở Lớp dẫn xuất Sử dụng lớp cơ sở Constructor và thừa kế Access modifier: protected Lớp cơ sở của mọi lớp: Lớp object Lớp sealed và lớp partial NỘI DUNG 2 Xuất phát từ nhu cầu: Sử dụng lại những đoạn code có sẵn Hoặc phát triển thêm từ những code có sẵn mà không phải viết lại từ đầu Ưu điểm: Giảm chi phí Nâng cao khả năng bảo trì và khả năng mô hình hóa Vấn đề tái sử dụng code 3 Lập trình cấu trúc: chương trình con OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự nhau tái sử dụng các lớp đã viết Trong một lớp vẫn tái sử dụng phương thức Vấn đề tái sử dụng code 4 Có 3 hình thức: Sao chép lớp cũ thành 1 lớp khác Hạn chế: Dư thừa, khó quản lý khi có thay đổi Kết tập (Aggregation): Lớp mới là tập hợp hoặc sử dụng (không thay đổi) các lớp đã có Thừa kế (Inheritance): Lớp mới phát triển thêm các thuộc tính hoặc phương thức từ lớp đã có Các hình thức tái sử dụng code 5 KẾT TẬP (aggregation) 6 Thành phần lớp mới chứa các đối tượng của lớp cũ Lớp mới: Lớp chứa/Lớp toàn thể Sử dụng các thuộc tính và phương thức của lớp thành phần thông qua đối tượng Lớp cũ: Lớp thành phần Ví dụ: Lớp cũ: Điểm (Point) Lớp mới: Tam giác (Triangle) có 3 điểm Kết tập (Aggregation) 7 Số lượng lớp thành phần trong lớp chứa có thể: 1 số nguyên dương (1, 2, 3, .) Dải số (01, 1n) Bất kỳ giá trị nào: * Không ghi: mặc định là 1 Ký hiệu quan hệ kết tập 8 Ví dụ quan hệ kết tập 9 public class Point { private int x; private int y; //Định nghĩa các phương thức } public class Triangle { Point dinhA; //Đỉnh A Point dinhB; //Đỉnh B Point dinhC; //Đỉnh C //Định nghĩa các phương thức } Cài đặt lớp Point và lớp Triangle có chức năng: Nhập Xuất Tính chu vi Tính diện tích (Mỗi lớp phải có: Property get, set; constructor; kiểm tra ràng buộc nếu có) Cài đặt lớp ListTriangle chứa danh sách các Triangle có chức năng: nhập, xuất và cho biết thông tin tam | THỪA KẾ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, CHƯƠNG 5: 1 Vấn đề tái sử dụng code & các hình thức Lý do thừa kế Lớp cơ sở Lớp dẫn xuất Sử dụng lớp cơ sở Constructor và thừa kế Access modifier: protected Lớp cơ sở của mọi lớp: Lớp object Lớp sealed và lớp partial NỘI DUNG 2 Xuất phát từ nhu cầu: Sử dụng lại những đoạn code có sẵn Hoặc phát triển thêm từ những code có sẵn mà không phải viết lại từ đầu Ưu điểm: Giảm chi phí Nâng cao khả năng bảo trì và khả năng mô hình hóa Vấn đề tái sử dụng code 3 Lập trình cấu trúc: chương trình con OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự nhau tái sử dụng các lớp đã viết Trong một lớp vẫn tái sử dụng phương thức Vấn đề tái sử dụng code 4 Có 3 hình thức: Sao chép lớp cũ thành 1 lớp khác Hạn chế: Dư thừa, khó quản lý khi có thay đổi Kết tập (Aggregation): Lớp mới là tập hợp hoặc sử dụng (không thay đổi) các lớp đã có Thừa kế (Inheritance): Lớp mới phát triển thêm các thuộc tính hoặc phương thức từ lớp