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

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

1. Khi nào nên sử dụng `abstract class′ thay vì `interface′?
2. 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ì?
3. Mối quan hệ `has-a′ trong OOP thường được thể hiện thông qua cơ chế nào?
4. Ưu điểm của việc sử dụng `composition′ (hợp thành) so với `inheritance′ (kế thừa) trong thiết kế OOP là gì?
5. Design Pattern (Mẫu thiết kế) là gì trong lập trình hướng đối tượng?
6. Nguyên tắc `thay thế Liskov′ (Liskov Substitution Principle) phát biểu điều gì?
7. Trong mô hình MVC (Model-View-Controller), thành phần `Controller′ chịu trách nhiệm chính nào?
8. Phương pháp tiếp cận `Test-Driven Development′ (TDD) liên quan mật thiết đến nguyên tắc OOP nào?
9. Khi nào thì việc sử dụng `multiple inheritance′ (đa kế thừa) trong OOP có thể gây ra vấn đề `diamond problem′?
10. Nguyên tắc SOLID nào tập trung vào việc một lớp chỉ nên có một lý do duy nhất để thay đổi?
11. Mẫu thiết kế `Factory′ (Nhà máy) giải quyết vấn đề gì?
12. Mối quan hệ `is-a′ trong OOP thường được thể hiện thông qua cơ chế nào?
13. Thuộc tính (attribute) của một đối tượng thể hiện điều gì?
14. Trong lập trình hướng đối tượng, `tính đóng gói′ (encapsulation) mang lại lợi ích chính nào?
15. Trong lập trình hướng đối tượng, `composition′ (hợp thành) thường được ưu tiên hơn `inheritance′ (kế thừa) trong trường hợp nào?
16. Loại quan hệ nào thể hiện sự phụ thuộc tạm thời giữa hai lớp, trong đó một lớp sử dụng một lớp khác như một tham số hoặc biến cục bộ?
17. Phương pháp lập trình hướng đối tượng nào tập trung vào việc xây dựng hệ thống từ các `actor′ tương tác với nhau thông qua việc gửi và nhận thông điệp?
18. Trong ngữ cảnh của kế thừa, lớp `cha′ còn được gọi là gì?
19. Phương thức (method) của một đối tượng thể hiện điều gì?
20. Phương thức `khởi tạo′ (constructor) trong lớp có vai trò gì?
21. Đối tượng (object) trong lập trình hướng đối tượng là gì?
22. Khái niệm `coupling′ (liên kết) trong OOP đề cập đến điều gì?
23. Khái niệm `cohesion′ (kết dính) trong OOP đề cập đến điều gì?
24. Lợi ích của việc sử dụng `Dependency Injection′ (DI) trong OOP là gì?
25. Kiểu thiết kế `Command Pattern′ (Mẫu lệnh) có mục đích chính là gì?
26. Đặc điểm nào sau đây **không** phải là trụ cột chính của lập trình hướng đối tượng?
27. Lợi ích chính của việc sử dụng kế thừa trong OOP là gì?
28. Khái niệm `đa hình′ (polymorphism) trong OOP được thể hiện rõ nhất qua cơ chế nào?
29. Mẫu thiết kế `Singleton′ được sử dụng khi nào?
30. Điểm khác biệt chính giữa `interface′ và `abstract class′ trong OOP là gì?