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++:
#includeusing 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.