• Thuộc tính: là thành phần của đối tượng, có giá trị nhất định cho mỗi đối tượng tại mỗi thời điểm trong hệ thống.. - Public: Các thành phần mang thuộc tinh này đều có thể được truy cập
Trang 1ÔN TẬP LÝ THUYẾT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Câu 1: Phương pháp lập trình hướng đối tượng là gì?
Lấy đối tượng làm nền tảng để xây dựng thuật giải, xây dựng chương trình - Dựa trên kiến trúc lớp (class) và đối tượng (object)
Câu 2: Đối tượng là gì? : Là thực thể bao gồm thuộc tính và hành động
Câu 3: Lớp đối tượng là gì?
Tập hợp các đối tượng có đặc tính tương tự nhau Một class được đặc trưng bằng các thuộc tính, và các hành động (hành vi, thao tác)
• Thuộc tính: là thành phần của đối tượng, có giá trị nhất định cho mỗi đối tượng tại mỗi thời điểm trong hệ thống
• Thao tác: thể hiện hành vi của một đối tượng tác động qua lại với các đối tượng khác hoặc với chính nó
Câu 4: Các đặc điểm quan trọng của OOP
- Các lớp đối tượng – Classes
- Đóng gói – Encapsulation (dùng để che giấu thông tin)
- Thừa kế - Inheritance
- Đa hình – Polymorphism
Câu 5: Phạm vi truy xuất
- Gồm 3 từ khóa: public, private, protected để xác định phạm vi truy xuất
- Public: Các thành phần mang thuộc tinh này đều có thể được truy cập từ bất kỳ hàm nào, dù ở trong hay ngoài lớp
- Private: Các thành phần mang thuộc tí nh này chỉ có thể được truy cậpbên trong phạm vi lớp
- Protected: Các thành phần mang thuộc tinh này chỉ có thể được truy cập bên trong phạm vi lớp và các lớp con kế thừa nó
1 lớp có thể có nhiều nhãn private và public, mỗi nhãn có phạm vi ảnh hướng cho đến khi gặp một nhãn kế tiếp hoặc hết khai báo lớp
Câu 6: Constructor là gì? Dùng làm gì? Tên, kiểu dữ liệu trả về? Danh sách tham số? Thế nào là constructor mạc đinh?
- Constructor (Hàm thiết lập) là một loại phương thức đặc biệt dùng để khởi tạo thể hiện của lớp
- Constructor dùng thiết lập để khởi tạo các giá trị thành phần của đối tượng
- Constructor được khai báo giống như một phương thức, tên trùng tên lớp, không có giá trị trả về (kể
cả void) - Constructor phải có thuộc tính public
- Contructor có hoặc không có tham số
Trang 2Câu 7: Destructor là gì?
- Destructor là hàm hủy bỏ được gọi ngay trước khi một đối tượng bị thu hồi, dùng để dọn dẹp cần thiết trước khi một đối tượng bị hủy - Một class có duy nhất một Destructor
- Tên trùng trên lớp có dấu ~ đặt trước
- Được tự động gọi khi đối tượng hết phạm vi sử dụng - Destructor có thuộc tính là public
Câu 8: Kế thừa là gì? Cách khai báo, ví dụ minh họa
- Kế thừa dùng để biểu diễn mối quan hệ đặc biệt hóa- tổng quát hóa giữa các lớp Các lớp được trừu tượng hóa và được tôt chức thành một sơ đồ phân cấp lớp
- Các lớp có các đặc điểm tương tự nhau có thể tổ chức thành một sơ đồ phân cấp kế thừa (cây kế thừa)
- Cách khai báo: class LopCha
{
// Thành phần của lớp cơ sở
};
class LopCon: (Từ khóa dẫn xuất: public/private/protected) LopCha {
//Thành phần bổ sung của lớp dẫn xuất };
- Ví dụ:
class Nguoi
{
protected: string Ten
public:
void Nhap(); void Xuat();
Nguoi();
~Nguoi();
};
class Bitch:public Nguoi
{ private:
string DiaBan; int Gia;
public:
void Nhap(); void Xuat();
Bitch();
~Bitch();
};
Trang 3Phạ m vi
t ruy cập
Câu 9: Phạm vi truy xuất(để phân biệt phần này với chương 3, hỏi phần này sẽ có các từ khóa “kế thừa” hay “dẫn xuất”)
Từ khóa dẫn xuất
Private Protected public
Protected Private Protected Protected
Public
Private Protected Public Cách đọc:
- Thành phần private ở lớp cha thì không được truy xuất
- Thành phần………… ở lớp cha nếu được kế thừa bằng từ khóa dẫn xuất……
thì sẽ trở thành………… ở lớp con
Câu 10: Phương thức ảo là gì? Những lưu ý khi sử dụng phương thức ảo?
- Là cách thể hiện tính đa tình trong C++
- Các phương thức ở lớp cơ sở có tính đa hình phải được định nghĩa là một phương thức ảo
- Lưu ý:
• PTA chỉ hoạt động thông qua con trỏ
• Muốn hàm trờ thành phương thức ảo có 2 cách
1 Thêm từ khóa virtual vào trước khai báo hàm Ví dụ: virtual void Nhap();
2 Hoặc phương thức tương ứng ở lớp cơ sở đã là phương thức ảo
• PTA chỉ hoạt động nếu phương thức ở lớp cơ sở và lớp con có nghi thức giao tiếp GIỐNG HỆT nhau
• Nếu ở lớp con không định nghĩa lại phương thức ảo thì sẽ gọi phương thức ở lớp cơ sở (gần nhất
có định nghĩa)
Câu 11: Phương thức thuần ảo là gì?
- Là phương thức ảo không có nội dung
Câu 12: Lớp trừu tượng là gì?
- Là lớp cơ sở không có đối tượng nào thuộc chính nó
CHÚC CÁC BẠN THI TỐT!!!