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

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

1. Trong ngữ cảnh OOP, 'coupling' (kết nối) và 'cohesion' (liên kết) là hai khái niệm quan trọng. Thiết kế OOP tốt thường hướng tới:
2. Mẫu thiết kế 'Singleton' (Singleton pattern) trong OOP được sử dụng để làm gì?
3. Nguyên tắc 'phân tách giao diện' (Interface Segregation Principle - ISP) trong SOLID khuyến nghị điều gì về interface?
4. Khi nào nên sử dụng 'method overloading' (nạp chồng phương thức) trong OOP?
5. Khái niệm nào sau đây là trụ cột cơ bản của lập trình hướng đối tượng, cho phép đóng gói dữ liệu và phương thức hoạt động trên dữ liệu đó vào trong một đơn vị duy nhất?
6. Đâu là một ví dụ về ngôn ngữ lập trình hướng đối tượng thuần túy (pure OOP language)?
7. Nguyên tắc 'mở rộng - đóng' (Open/Closed Principle - OCP) trong SOLID khuyến khích điều gì?
8. Đa hình (polymorphism) trong OOP được thể hiện rõ nhất qua cơ chế nào?
9. Mục đích chính của việc sử dụng 'tính đóng gói' (encapsulation) trong OOP là gì?
10. Khái niệm nào sau đây mô tả mối quan hệ 'là một' (is-a relationship) trong OOP và thường được hiện thực hóa thông qua kế thừa?
11. Trong OOP, 'lớp trừu tượng' (abstract class) thường được sử dụng để làm gì?
12. Ưu điểm chính của lập trình hướng đối tượng so với lập trình hướng cấu trúc là gì?
13. Nhược điểm tiềm ẩn của việc lạm dụng 'kế thừa' (inheritance) trong thiết kế OOP là gì?
14. Trong OOP, 'interface' (giao diện) khác với 'abstract class' (lớp trừu tượng) ở điểm nào chính yếu nhất?
15. Điểm khác biệt chính giữa 'lớp' (class) và 'đối tượng' (object) trong OOP là gì?
16. Nguyên tắc 'thay thế Liskov' (Liskov Substitution Principle - LSP) phát biểu rằng:
17. Trong OOP, 'visibility modifiers' (chỉ thị truy cập) như 'public', 'private', 'protected' được sử dụng để làm gì?
18. Trong lập trình hướng đối tượng, 'tính kế thừa' (inheritance) mang lại lợi ích chính nào sau đây?
19. Thuật ngữ 'composition' (thành phần) trong OOP mô tả loại quan hệ nào giữa các lớp?
20. Mẫu thiết kế 'Factory' (Factory pattern) giúp giải quyết vấn đề nào trong OOP?
21. Nguyên tắc 'SOLID' nào trong OOP tập trung vào việc một lớp chỉ nên có một và chỉ một lý do để thay đổi?
22. Lỗi 'NullPointerException' (trong Java) hoặc 'NullReferenceException' (trong C#) thường xảy ra trong OOP do nguyên nhân chính nào?
23. Thuật ngữ 'association' (kết hợp) trong OOP mô tả loại quan hệ nào giữa các lớp?
24. Trong OOP, 'method overriding' (ghi đè phương thức) xảy ra khi nào?
25. Phương thức khởi tạo (constructor) trong lớp có vai trò quan trọng nhất là gì?
26. Khi nào nên sử dụng 'aggregation' (tổng hợp) thay vì 'composition' (thành phần) trong OOP?
27. Khái niệm 'message passing' (truyền thông điệp) trong OOP đề cập đến điều gì?
28. Trong OOP, 'tính trừu tượng hóa' (abstraction) giúp giải quyết vấn đề phức tạp bằng cách nào?
29. Nguyên tắc 'đảo ngược phụ thuộc' (Dependency Inversion Principle - DIP) trong SOLID khuyến khích điều gì?
30. Lợi ích của việc sử dụng 'interface' (giao diện) trong thiết kế phần mềm hướng đối tượng là gì?