Đề 2 – Bài tập, đề thi trắc nghiệm online Lập trình hướng đối tượng

Đề 2 - Bài tập, đề thi trắc nghiệm online Lập trình hướng đối tượng

1. Mục tiêu của nguyên tắc `nguyên tắc mở đóng′ (Open∕Closed Principle - OCP) trong SOLID là gì?
2. Phương thức hủy (destructor) trong OOP có chức năng chính là gì?
3. Trong ngữ cảnh của tính kế thừa, lớp cha còn được gọi là gì?
4. Trong OOP, `interface′ (giao diện) được sử dụng để làm gì?
5. Phương thức trừu tượng (abstract method) là phương thức như thế nào?
6. Lợi ích chính của việc sử dụng lập trình hướng đối tượng là gì?
7. Lớp trừu tượng (abstract class) khác với lớp thông thường ở điểm nào?
8. Mối quan hệ `has-a′ (hoặc `composition′) trong OOP thể hiện điều gì?
9. Đâu là nhược điểm tiềm ẩn của việc sử dụng kế thừa trong OOP nếu lạm dụng quá mức?
10. Tính đa hình `đa xạ` (Overloading) trong OOP đề cập đến khả năng?
11. Phương thức khởi tạo (constructor) trong OOP có vai trò chính là gì?
12. Phương thức (method) trong OOP được hiểu là?
13. Thuộc tính (attribute) của một đối tượng trong OOP đại diện cho điều gì?
14. Lớp con (subclass) trong kế thừa còn được gọi là?
15. Đối tượng (object) trong lập trình hướng đối tượng là gì?
16. Khi nào nên sử dụng `interface′ thay vì `abstract class′?
17. Tính chất nào của lập trình hướng đối tượng cho phép các đối tượng thuộc các lớp khác nhau phản ứng khác nhau đối với cùng một thông điệp hoặc hành động?
18. Từ khóa nào thường được sử dụng để thể hiện tính kế thừa trong nhiều ngôn ngữ lập trình hướng đối tượng?
19. Trong lập trình hướng đối tượng, `tính trừu tượng hóa dữ liệu′ (data abstraction) có nghĩa là gì?
20. Trong lập trình hướng đối tượng, `composition′ (tổ hợp) thường được ưu tiên hơn `inheritance′ (kế thừa) trong trường hợp nào?
21. Trong lập trình hướng đối tượng, phương pháp nào cho phép một lớp con (subclass) kế thừa các thuộc tính và phương thức từ lớp cha (superclass)?
22. Khái niệm nào sau đây là **trụ cột** của lập trình hướng đối tượng, cho phép một đối tượng che giấu trạng thái bên trong và chỉ tương tác với thế giới bên ngoài thông qua một giao diện công khai?
23. Tính đóng gói (Encapsulation) giúp đạt được mục tiêu nào sau đây trong thiết kế phần mềm?
24. Design pattern `Factory′ (Nhà máy) trong OOP giúp giải quyết vấn đề gì?
25. Design pattern `Singleton′ (Đơn thể) trong OOP được sử dụng để làm gì?
26. Tính đa hình `ghi đè` (Overriding) trong OOP liên quan đến?
27. Nguyên tắc `thay thế Liskov′ (Liskov Substitution Principle - LSP) trong SOLID nói về điều gì?
28. Mối quan hệ `is-a′ trong OOP thường được thể hiện thông qua cơ chế nào?
29. Trong OOP, `lớp′ (class) đóng vai trò gì?
30. Mục đích chính của tính trừu tượng (Abstraction) trong lập trình hướng đối tượng là gì?