Bộ 2 - Trắc nghiệm Lập trình hướng đối tượng có đáp án

Thời gian còn lại: --:--

Câu 1: Trong lập trình hướng đối tượng, hàm ảo thuần túy (pure virtual function) có đặc điểm gì nổi bật?

Câu 2: Đặc điểm nào sau đây mô tả chính xác nhất về biến tĩnh (static variable) trong một lớp?

Câu 3: Mục đích chính của tính đóng gói (Encapsulation) là gì?

Câu 4: Mối quan hệ 'is-a' (là một) trong lập trình hướng đối tượng thường được thể hiện thông qua cơ chế nào?

Câu 5: Tính đa hình (Polymorphism) cho phép thực hiện điều gì sau đây?

Câu 6: Điều gì xảy ra khi bạn cố gắng khởi tạo một đối tượng từ một lớp trừu tượng (Abstract Class)?

Câu 7: 'Vấn đề viên kim cương' (Diamond Problem) trong đa kế thừa dẫn đến hệ quả tiêu cực nào?

Câu 8: Khẳng định nào sau đây là ĐÚNG về phương thức khởi tạo (Constructor)?

Câu 9: Thành phần được đánh dấu với phạm vi truy cập 'private' có thể được truy cập từ đâu?

Câu 10: Để ghi đè (override) một phương thức của lớp cha, lớp con cần đảm bảo điều kiện gì?

Câu 11: Mối quan hệ 'Aggregation' (tập hợp) khác với 'Composition' (tổng hợp) ở điểm nào?

Câu 12: Khi nào phương thức hủy (Destructor) thường được gọi?

Câu 13: Từ khóa 'this' trong hầu hết các ngôn ngữ hướng đối tượng được dùng để làm gì?

Câu 14: Giao diện (Interface) trong lập trình hướng đối tượng chủ yếu dùng để làm gì?

Câu 15: Từ khóa 'super' (hoặc 'base' trong C#) thường được dùng để làm gì trong lớp con?

Câu 16: Nếu một lớp được khai báo là 'final' (trong Java) hoặc 'sealed' (trong C#), điều đó có nghĩa là gì?

Câu 17: Hạn chế nào sau đây áp dụng cho phương thức tĩnh (static method)?

Câu 18: Điều kiện cần thiết để nạp chồng phương thức (Method Overloading) là gì?

Câu 19: Phạm vi truy cập 'protected' cho phép một thành phần được truy cập bởi ai?

Câu 20: Trong kỹ thuật 'Deep Copy' (sao chép sâu), các đối tượng con được xử lý như thế nào?

Câu 21: Tại sao trong C++, một lớp cơ sở nên có một phương thức hủy ảo (virtual destructor)?

Câu 22: Sự khác biệt cơ bản giữa Trừu tượng hóa (Abstraction) và Đóng gói (Encapsulation) là gì?

Câu 23: Ép kiểu xuống (Downcasting) trong lập trình hướng đối tượng là gì?

Câu 24: Nguyên lý 'Single Responsibility Principle' (SRP) trong SOLID quy định điều gì?

Câu 25: Nguyên lý 'Open/Closed Principle' (OCP) khuyên lập trình viên điều gì?