GiaoTrinhC++(27Jun21)

(Hoang2711) #1

Thiết kế trang Web


52 • Ông Văn Thông


THỪA KẾ C++ INHERITANCE


1. Inheritance


Trong C++, có thể thừa kế các thuộc tính và phương thức từ class này sang class khác. Chúng ta
phân nhóm "khái niệm thừa kế" thành hai loại:



  • derived class (child) – class phát sinh (con cái) - class thừa hưởng từ một class khác

  • base class (parent) – class cơ sở (bố mẹ) - class để lại di sản cho class khác thừa kế
    Để thừa kế từ một class khác, hãy sử dụng ký hiệu dấu hai chấm (:).
    Trong ví dụ dưới đây, Car là class con cái, thừa kế các thuộc tính và phương thức từ class bố mẹ
    là Xehoi:


Ví dụ: #include
#include
using namespace std;
class Xehoi { // base class
public:
string hieu = "Toyota"; string kieu = "Camry"; int nam = 2020;
void bopcoi() { cout << "Beep beep " ; } };
class Car: public Xehoi { // derived class
public:
string owner;
void intro() { bopcoi(); cout << owner << " " << hieu
<< " " << kieu << " " << nam << endl ; } } ;
int main() {
Car xeA; xeA.owner = "Anh Ba"; xeA.intro();
Car xeB; xeB.owner = "Chu Tu";
xeB.kieu = "Corolla"; xeB.nam = 2018; xeB.intro();
Car xeC; xeC.owner = "Co Tam"; xeC.hieu = "Honda";
xeC.kieu = "Civic"; xeC.nam = 2015; xeC.intro();
Car xeD; xeD.owner = "Di Muoi"; xeD.hieu = "Ford";
xeD.kieu = "Escape"; xeD.nam = 2010; xeD.intro();
return 0; }


Kết quả:

Beep beep Anh Ba Toyota Camry 2020
Beep beep Chu Tu Toyota Corolla 2018
Beep beep Co Tam Honda Civic 2015
Beep beep Di Muoi Ford Escape 2010


  1. Tại sao và khi nào cần thừa kế?



  • Nó rất hữu ích cho khả năng tái sử dụng mã: sử dụng lại các thuộc tính và phương thức của
    một class hiện có khi bạn tạo một class mới.


THỪA KẾ ĐA CẤP C++ MULTILEVEL INHERITANCE



  1. Multilevel Inheritance


Một class có thể thừa kế từ một class vốn đã thừa kế từ một class khác. Trong ví dụ sau, class

Free download pdf