7. Kế thừa trong lập trình C++ hướng đối tượng

Trong lập trình C++ hướng đối tượng, Kế thừa (Inheritance) 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ạo ra một lớp mới (lớp dẫn xuất hoặc lớp con) dựa trên một lớp hiện có (lớp cơ sở hoặc lớp cha). Lớp dẫn xuất có thể kế thừa các thuộc tính và phương thức của lớp cơ sở, cũng như có thể mở rộng hoặc ghi đè chúng để thêm hoặc thay đổi hành vi.

Dưới đây là cách sử dụng kế thừa trong lập trình C++:

cpp
#include <iostream>

class Animal {
public:
    void eat() {
        std::cout << "Động vật đang ăn." << std::endl;
    }

    void sleep() {
        std::cout << "Động vật đang ngủ." << std::endl;
    }
};

class Dog : public Animal {
public:
    void bark() {
        std::cout << "Chó sủa: Gâu gâu!" << std::endl;
    }
};

class Cat : public Animal {
public:
    void meow() {
        std::cout << "Mèo kêu: Meo meo!" << std::endl;
    }
};

int main() {
    Dog myDog;
    myDog.eat();
    myDog.bark();

    Cat myCat;
    myCat.eat();
    myCat.meow();

    return 0;
}

Trong ví dụ trên, chúng ta có một lớp cơ sở Animal với các phương thức eatsleep. Lớp DogCat được kế thừa từ lớp Animal bằng cách sử dụng public trong khai báo lớp dẫn xuất (class Dog : public Animal). Các lớp dẫn xuất có thể sử dụng các phương thức của lớp cơ sở, cũng như thêm các phương thức riêng cho mình.

Trong hàm main, chúng ta tạo một đối tượng myDog từ lớp Dog và một đối tượng myCat từ lớp Cat, sau đó gọi các phương thức của cả lớp cơ sở và lớp dẫn xuất.

Kế thừa cho phép bạn tái sử dụng mã, tạo các lớp có cấu trúc tương tự và mở rộng chức năng của các lớp cơ sở.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top