Giới Thiệu
C++ là một ngôn ngữ lập trình mạnh mẽ và hướng đối tượng, được xem là phiên bản nâng cấp hoàn thiện của ngôn ngữ C. Trong bài viết này, chúng ta sẽ cùng khám phá khái niệm lớp (class), một trong những nền tảng cốt lõi của C++, cũng như sự quan trọng và ứng dụng của lớp trong lập trình.
I. Lớp (Class) Là Gì?
Lớp (class) là một mẫu thiết kế (blueprint) để tạo ra các đối tượng. Nó đị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ẽ kế thừa. Nói cách khác, lớp chính là khái niệm đại diện cho một tập hợp các đối tượng có chung thuộc tính và hành vi.
II. Cấu Trúc Của Một Lớp Trong C++
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ụ:
cpp
#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 ví dụ trên, lớp Hinhvuong
có:
- Chieudai và Canhhuyen là các thuộc tính.
- Dientich() tính diện tích của hình vuông.
- Chuvi() tính chu vi của hình vuông.
- setChieudai(float dai) và setCanhhuyen(float canh) để thiết lập giá trị cho chiều dài và cạnh huyền.
- getChieudai() và getCanhhuyen() để lấy giá trị của chiều dài và cạnh huyền.
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. Thường được khai báo trong phần
private
để bảo vệ dữ liệu, 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. Các 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 các đối tượng từ lớp đó. Ví dụ:
cpp
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 thông tin bên trong của đối tượng, chỉ cung cấp một giao diện công khai để tương tác. Đ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 trong chương trình.
VI. Kết Luận
Lớp là khái niệm quan trọng trong lập trình hướng đối 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.
Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về lớp trong C++ và ứng dụng của nó. Nếu bạn có bất kỳ câu hỏi hay ý kiến nào, hãy để lại bình luận dưới bài viết này. Mỗi câu hỏi của bạn đều có thể giúp cộng đồng học tập và phát triển hơn. Cảm ơn bạn đã đọc!
source: viblo