.Các lớp cơ sở và các lớp dẫn xuất

Một phần của tài liệu Giáo án - Bài giảng: TÀI LIỆU C++ (Trang 107 - 109)

Thường một đối tượng của một lớp thật sự là một đối tượng của lớp khác cũng được. Một hình chữ nhật là một tứ giác, vì thế lớp Rectangle có thể kế thừa từ lớp Quadrilateral. Trong khung cảnh này, lớp Quadrilateral gọi là một lớp cơ sở và lớp Rectangle gọi là một lớp dẫn xuất. Hình 5.1 cho chúng ta một vài

ví dụ về kế thừa đơn.

Các ngơn ngữ lập trình hướng đối tượng như SMALLTALK sử dụng thuật ngữ khác: Trong kế thừa, lớp cơ sở được gọi là lớp cha (superclass), lớp dẫn xuất được gọi là lớp con (subclass).

Lớp cơ sở Lớp dẫn xuất GraduateStudent Student UndergraduateStudent Circle Triangle Shape Rectangle Loan CarLoan

108 HomeImprovementLoan MortgageLoan FacultyMember Employee StaffMember CheckingAcount Acount SavingsAcount

Hình 5.1: Một vài kế thừa đơn.

Sự kế thừa hình thành các cấu trúc phân cấp giống cây (còn gọi là cây phả hệ). Một lớp cơ sở tồn tại trong một phân cấp quan hệ với lớp dẫn xuất của nó. Một lớp có thể tồn tại chắc chắn bởi chính nó, nhưng khi một lớp được sử dụng với cơ chế của sự kế thừa thì lớp trở thành hoặc là một lớp cơ sở mà cung cấp các thuộc tính và các hành vi cho các lớp khác, hoặc là lớp trở thành một lớp dẫn xuất mà kế thừa các thuộc tính và các hành vi.

Chúng ta phát triển một phân cấp kế thừa đơn. Một trường đại học cộng đồng đặc thù có hàng ngàn

người mà là các thành viên cộng đồng. Những người này gồm các người làm công và các sinh viên. Những người làm công hoặc là các thành viên khoa hoặc các thành viên nhân viên. Các thành viên khoa hoặc là các nhà quản lý hoặc giảng viên. Điều này trở thành phân cấp kế thừa như hình 5.2

Hình 5.2: Một phân cấp kế thừa cho các thành viên của trường đại học cộng đồng. Phân cấp kế thừa quan trọng khác là phân cấp Shape ở hình 5.3.

Hình 5.3: Phân cấp lớp Shape

Để chỉ định lớp CommissionWorker được dẫn xuất từ lớp Employee, lớp CommissionWorker được định

nghĩa như sau:

class CommissionWorker: public Employee {………….

Giáo trình mơn Lập trình hướng đối tượng Trang 109

Điều này được gọi là kế thừa public và là loại mà phần lớn được sử dụng. Ngồi ra chúng ta cịn có kế

thừa private và kế thừa protected. Với kế thừa public, các thành viên public và protected của lớp cơ sở

được kế thừa như là các thành viên public và protected của lớp dẫn xuất tương ứng. Nên nhớ rằng các thành

viên private của lớp cơ sở không thể truy cập từ các lớp dẫn xuất của lớp đó.

Xử lý các đối tượng lớp cơ sở và các đối tượng lớp dẫn xuất tương tự; phổ biến là được biểu diễn bằng các thuộc tính và các hành vi của lớp cơ sở. Các đối tượng của bất kỳ lớp nào dẫn xuất từ một lớp cơ sở chung có thể tất cả được xử lý như các đối tượng của lớp cơ sở đó.

Một phần của tài liệu Giáo án - Bài giảng: TÀI LIỆU C++ (Trang 107 - 109)