Lập trình hướng đối tượng trong C++ – Phần 12

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Lập trình hướng đối tượng trong C++ – Phần 12

Lập trình hướng đối tượng trong C++

1. Giới thiệu

Lập trình hướng đối tượng (OOP – Object-Oriented Programming) là một mô hình lập trình dựa trên các đối tượng. C++ hỗ trợ OOP với các khái niệm như lớp (class), đối tượng (object), kế thừa (inheritance), đa hình (polymorphism), đóng gói (encapsulation) và trừu tượng (abstraction).

2. Lớp và đối tượng

2.1. Khai báo lớp

class SinhVien {
public:
    string ten;
    int tuoi;
    void hienThi() {
        cout << "Tên: " << ten << ", Tuổi: " << tuoi << endl;
    }
};

2.2. Khởi tạo đối tượng

SinhVien sv1;
sv1.ten = "Nguyen Van A";
sv1.tuoi = 20;
sv1.hienThi();

3. Hàm tạo (Constructor) và hàm hủy (Destructor)

3.1. Hàm tạo

class SinhVien {
public:
    string ten;
    int tuoi;
    
    // Hàm tạo
    SinhVien(string t, int age) {
        ten = t;
        tuoi = age;
    }
    
    void hienThi() {
        cout << "Tên: " << ten << ", Tuổi: " << tuoi << endl;
    }
};

Gọi hàm tạo:

SinhVien sv2("Le Thi B", 22);
sv2.hienThi();

3.2. Hàm hủy

class SinhVien {
public:
    ~SinhVien() {
        cout << "Đối tượng bị hủy" << endl;
    }
};

4. Đóng gói (Encapsulation)

Sử dụng private để bảo vệ dữ liệu:

class NhanVien {
private:
    int luong;
public:
    void setLuong(int l) {
        luong = l;
    }
    int getLuong() {
        return luong;
    }
};

5. Kế thừa (Inheritance)

class Nguoi {
public:
    string hoTen;
    void gioiThieu() {
        cout << "Tôi là " << hoTen << endl;
    }
};

class SinhVien : public Nguoi {
public:
    string maSV;
};

6. Đa hình (Polymorphism)

Dùng phương thức ảo:

class DongVat {
public:
    virtual void keu() {
        cout << "Động vật kêu" << endl;
    }
};

class Cho : public DongVat {
public:
    void keu() override {
        cout << "Gâu gâu" << endl;
    }
};

7. Kết luận

Lập trình hướng đối tượng giúp mã nguồn rõ ràng và dễ bảo trì hơn. Trong bài tiếp theo, chúng ta sẽ tìm hiểu về quản lý bộ nhớ trong C++.

Bài viết liên quan