C++ Multilevel Inheritance

C++ Multilevel Inheritance

Multilevel inheritance là một trong những loại kế thừa trong lập trình hướng đối tượng (OOP) trong C++. Trong loại kế thừa này, một lớp con kế thừa từ một lớp cha, và lớp cha đó lại được kế thừa từ một lớp ông. Điều này hình thành nên một chuỗi liên kết giữa các lớp, nơi mỗi lớp có thể sử dụng các đặc điểm và hành vi của lớp cha mà nó kế thừa.

Định nghĩa

Multilevel inheritance cho phép một lớp kế thừa từ một lớp cha, mà lớp cha đó lại kế thừa từ một lớp khác. Điều này tạo ra một cấu trúc phân cấp, ở đó các lớp con có thể mở rộng và tùy biến các thuộc tính và phương thức từ các lớp cha của chúng.

Cú pháp

class ClassName1 { 
    // Nơi định nghĩa lớp cha 1 
};

class ClassName2 : public ClassName1 { 
    // Nơi định nghĩa lớp con 1 
};

class ClassName3 : public ClassName2 { 
    // Nơi định nghĩa lớp con 2 
};

Ví dụ

Dưới đây là một ví dụ về kế thừa đa cấp trong C++:

#include 
using namespace std;

// Lớp cơ sở
class Animal {
public:
    void eat() {
        cout << "Animal eats food." << endl;
    }
};

// Lớp kế thừa từ Animal
class Mammal : public Animal {
public:
    void walk() {
        cout << "Mammal walks." << endl;
    }
};

// Lớp kế thừa từ Mammal
class Dog : public Mammal {
public:
    void bark() {
        cout << "Dog barks." << endl;
    }
};

int main() {
    Dog myDog;
    myDog.eat(); // Từ lớp Animal
    myDog.walk(); // Từ lớp Mammal
    myDog.bark(); // Từ lớp Dog
    return 0;
}

Trong ví dụ trên, lớp Animal là lớp cơ sở, lớp Mammal kế thừa từ Animal, và lớp Dog kế thừa từ Mammal. Lớp Dog có thể truy cập các phương thức của cả hai lớp cha của nó.

Kết luận

Multilevel inheritance trong C++ là một khái niệm quan trọng trong lập trình hướng đối tượng, cho phép bạn tổ chức mã nguồn một cách hiệu quả và tái sử dụng các thành phần. Việc hiểu cách thức hoạt động của kế thừa đa cấp sẽ giúp bạn xây dựng các ứng dụng phức tạp và linh hoạt hơn.