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

Lớp: là một mô tả trừu tượng của nhóm các đối tượng cùng bản chất hay nói ngược lại là mỗi đối tượng là một thể hiện của thể cho những mô tả trừu tượng đó.

Ví dụ 1: đối tượng xe tải, xe con, xe cấp cứu, xe container,… có chung một số đặc tính như: 4 bánh, vô lăng, đèn, còi,… -> Lớp xe ô tô

Ví dụ 2: đối tượng chim sẻ, chim cu gáy, chim bồ câu,… có chung đặc tính như: biết bay, đẻ trứng,.. ->  Lớp chim.

Khai báo lớp trong C++

class <Ten lop>
{
private:
    <Khai bao cac thanh phan private>
public:
    <Khai bao cac thanh phan public>
protected:
    <Khai bao cac thanh phan protected>
};

Các thành phần của lớp có thể là thuộc tính hoặc phương thức
Thuộc tính: các thuộc tính được khai báo giống như khai báo biến trong C.
Phương thức: được khai báo giống như khai báo hàm trong C. Có 2 cách định nghĩa phương thức là: định nghĩa trong lớp và ngoài lớp.
Quyền truy xuất: tất cả các thành phần có thuộc tính private chỉ được truy cập bởi các thành phần bên trong lớp đó. Các thành phần public có thể truy nhập từ bên ngoài lớp.
Con trỏ this: trỏ đến chính đối tượng đang gọi hàm.
Hàm tạo: bất kì một đối tượng nào cũng phải sử dụng một hàm tạo để khởi tạo các giá trị thành phần của đối tượng. Hàm tạo được khai báo giống như một phương thức với tên phương thức trùng với tên lớp và không có giá trị trả về. Có thể có nhiều hàm tạo trong cùng 1 lớp. Khi 1 lớp có nhiều hàm tạo, việc tạo các đối tượng phải kèm theo các tham số phù hợp với một trong các hàm tạo đã khai báo. Khi người dùng không khai báo bất kì một hàm tạo nào cho lớp thì trình biên dịch sẽ tự động sinh ra cho lớp một hàm tạo mặc định không có tham số.

Hàm hủy: Hàm hủy được gọi khi đối tượng tương ứng bị xóa khỏi bộ nhớ. Hàm hủy được khai báo giống như một phương thức với tên bắt đầu bằng kí tự ~ và tiếp theo là tên của lớp. Hàm hủy không có tham số và không có giá trị trả về. Một lớp chỉ có duy nhất 1 hàm hủy.

Hàm tạo sao chép: là hàm tạo có tham số là một đối tượng của chính lớp đó. Trong 1 lớp luôn luôn có 1 hàm tạo sao chép. Nếu trong trường hợp người sử dụng không khai báo hàm thiết lập sao chép cho lớp thì trình biên dịch sẽ tự động sinh một hàm thiết lập sao chép mặc định cho lớp.
Thành phần static:
Hàm bạn và lớp bạn:

Be the first to comment

Leave a Reply