Chuyển đến nội dung chính
Mô-đun 4 · Bài học 1 trong tổng số 29/18 trong khóa học~12 min
Bài học theo mô-đun (1/2)

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

Lập trình hướng đối tượng (OOP) là mô hình cốt lõi của C++. Nó cho phép nhóm dữ liệu và hàm thành các thực thể duy nhất được gọi là các lớp.

Một lớp đóng vai trò như một bản thiết kế, trong khi đối tượng là một phiên bản cụ thể của lớp đó.

Cú pháp cơ bản của class

Trong C++, bạn sử dụng từ khóa class. Không giống như một số ngôn ngữ khác, trong C++, định nghĩa lớp phải kết thúc bằng dấu chấm phẩy ;:

C++
#include <iostream>
#include <string>

class Player {
    // By default, all members of a class are private
private:
    std::string name;
    int score = 0;

public:
    // Public methods to access or modify private data
    void setName(std::string newName) {
        name = newName;
    }

    void addScore(int points) {
        score += points;
    }

    void display() {
        std::cout << name << " has " << score << " points!" << std::endl;
    }
};

int main() {
    Player p; // Creating an object of type Player
    p.setName("Marco");
    p.addScore(15);
    p.display();
    return 0;
}

Công cụ xác định quyền truy cập: public và private

Đóng gói bao gồm việc ẩn các chi tiết triển khai bên trong của một đối tượng và chỉ hiển thị giao diện được kiểm soát.

C++ quản lý điều khiển này bằng cách sử dụng các công cụ xác định quyền truy cập:

  • private: các thành viên chỉ có thể truy cập được bên trong các hàm thành viên của chính lớp đó.
  • private là cấp truy cập mặc định cho các lớp.
  • public: các thành viên có thể truy cập được từ mọi nơi bên ngoài lớp học.

Hãy tự mình thử

tập thể dục#cpp.m4.l1.e1
Nỗ lực: 0Đang tải…

Xác định một lớp có tên Rectangle với hai thành viên số nguyên riêng: chiều rộng và chiều cao. Thêm một phương thức công khai void setDimensions(int w, int h) để thiết lập chúng và một phương thức int getArea() trả về chiều rộng * chiều cao. Trong phần chính, tạo một Hình chữ nhật, đặt kích thước của nó thành 5 và 4, rồi in diện tích.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng công cụ xác định quyền truy cập `private:`và`public:`. Nhớ đóng lớp bằng dấu chấm phẩy `;` sau dấu ngoặc nhọn.

Giải pháp khả dụng sau 3 lần thử

tập thể dục#cpp.m4.l1.e2
Nỗ lực: 0Đang tải…

Xác định một lớp có tên Counter với số lượng thành viên riêng được khởi tạo là 0. Thêm các phương thức công khai voidincrement() và int getCount(). Trong main, tạo một đối tượng Counter, tăng gấp đôi và in giá trị.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Trong C++ hiện đại, bạn có thể bắt đầu sử dụng dữ liệu trực tiếp trong lớp: `int count = 0;`.

Giải pháp khả dụng sau 3 lần thử