C++ là một ngôn ngữ lập trình hướng đối tượng mạnh mẽ, c++ được coi là một cấp bậc cao hơn hay một ngôn ngữ hoàn thiện hơn của c. Và khái niệm class (lớp) là một trong những nền tảng cốt lõi của ngôn ngữ C++. Trong bài viết này, Mình sẽ đưa ae đi tìm hiểu về lớp trong C++, tại sao chúng quan trọng và cách chúng được sử dụng trong lập trình.
I. Class (Lớp) là gì?
Class (Lớp) là một mẫu thiết kế (blueprint) để tạo ra các đối tượng. Một lớp định nghĩa các thuộc tính (attributes) và phương thức (methods) mà đối tượng của lớp đó sẽ có. Nói cách khác, lớp là một khái niệm đại diện cho tập hợp các đối tượng có cùng thuộc tính và hành vi.
II. Cấu trúc của một lớp
Trong C++, một lớp được định nghĩa bằng từ khóa class, theo sau là tên lớp và một cặp dấu ngoặc nhọn chứa định nghĩa về thuộc tính và phương thức. Ví dụ:
#include <iostream>
using namespace std; class Hinhvuong { private: float Chieudai; float Canhhuyen; public: Hinhvuong(float dai, float canh) { Chieudai = dai; Canhhuyen = canh; } float Dientich() { return Chieudai * Chieudai; } float Chuvi() { return 4 * Chieudai; } void setChieudai(float dai) { Chieudai = dai; } void setCanhhuyen(float canh) { Canhhuyen = canh; } float getChieudai() { return Chieudai; } float getCanhhuyen() { return Canhhuyen; }
}; int main() { Hinhvuong hv(6.0, 8.0); cout << " Chiều dài " << hv.getChieudai() << endl; cout << " Cạnh huyền " << hv.getCanhhuyen() << endl; cout << " Diện tích " << hv.Dientich() << endl; cout << " chu vi " << hv.Chuvi() << endl; hv.setChieudai(10.0); hv.setCanhhuyen(16.0); cout << " Chiều dài mới " << hv.getChieudai() << endl; cout << " Cạnh huyền mới " << hv.getCanhhuyen() << endl; cout << " Diên tích " << hv.Dientich() << endl; cout << " Chu vi " << hv.Chuvi() << endl; return 0;
}
Trong bài làm trên chúng ta có:
Chieudai, Canhhuyen là các thuộc tính của lớp Hinhvuong
Phương thức float Dientich():
Tính diện tích của hình vuông
Phương thức float Chuvi():
Tính chu vi của hình vuông
Phương thức void setChieudai(float dai):
Thiết lập giá trị cho chiều dài Chieudai.
Phương thức void setCanhhuyen(float canh):
Thiết lập giá trị cho cạnh huyền Canhhuyen.
Phương thức float getChieudai():
Trả về giá trị của chiều dài
Phương thức float getCanhhuyen():
Trả về giá trị của cạnh huyền Canhhuyen.
hv.setChieudai(10.0); hv.setCanhhuyen(16.0);
Hai câu lệnh này dùng để thay đổi giá trị của 2 biến chiều daài và cạnh huyền. ( Lưu ý : Phần này đối với ae đã học qua chút thôi nha còn ae mới học thì nên code tạm phần trên cho dễ nhớ trước r hãy làm phần dưới nhé.
cout << " Chiều dài mới " << hv.getChieudai() << endl;
cout << " Cạnh huyền mới " << hv.getCanhhuyen() << endl;
cout << " Diên tích " << hv.Dientich() << endl;
cout << " Chu vi " << hv.Chuvi() << endl;
In kết quả mới ra màn hình.
III. Các thành phần của lớp
Một lớp trong C++ bao gồm hai thành phần chính:
Thuộc tính (Attributes): Là các biến lưu trữ trạng thái của đối tượng ở đây ae có thể liệt kê ra một số đặc điểm hay yếu tố của các sự vật sự việc khác nhau tùy ae. Các thuộc tính thường được khai báo trong phần private để bảo vệ dữ liệu và chỉ được truy cập thông qua các phương thức của lớp.
Phương thức (Methods): Là các hàm định nghĩa hành vi của đối tượng ( Bao gồm Thiết lập giá trị, thuật toán cho lớp, ..... Phương thức có thể được khai báo trong phần public để có thể truy cập từ bên ngoài lớp.
IV. Tạo đối tượng từ lớp
Sau khi định nghĩa một lớp, chúng ta có thể tạo ra các đối tượng từ lớp đó. Ví dụ:
int main() { Car car1; // Tạo một đối tượng car1 từ lớp Car car1.setBrand("Toyota"); car1.setModel("Corolla"); car1.setYear(2021); car1.displayInfo(); return 0;
}
Trong đoạn mã trên, car1 là một đối tượng của lớp Car. Chúng ta sử dụng các phương thức của lớp để gán giá trị cho các thuộc tính và hiển thị thông tin của đối tượng.
V. Tính đóng gói (Encapsulation)
Một trong những lợi ích chính của việc sử dụng lớp là tính đóng gói. Tính đóng gói cho phép che giấu các thông tin bên trong của đối tượng và chỉ cung cấp một giao diện công khai để tương tác với đối tượng đó. Điều này giúp bảo vệ dữ liệu và giảm thiểu sự phụ thuộc giữa các thành phần của chương trình.
VI. Kết luận
Lớp là một khái niệm quan trọng trong lập trình nó hướng đối tượng của nền tảng của C++. Bằng cách sử dụng lớp, chúng ta có thể tạo ra các đối tượng với các thuộc tính và hành vi cụ thể, bảo vệ dữ liệu bằng tính đóng gói và dễ dàng quản lý các đối tượng trong chương trình của mình.
MÌnh hy vọng bài viết này đã giúp ae hiểu rõ hơn về lớp trong C++ và cách chúng được sử dụng. Ae có câu hỏi nào thì hãy comment ở dưới một comment của ae có thể giúp mình ngày một thăng tiến hơn. Thank you for much!!!