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

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

1. Nguyên tắc 'Don't Repeat Yourself' (DRY) có liên quan như thế nào đến lập trình hướng đối tượng?
2. Nguyên tắc SOLID nào khuyến khích 'các lớp nên mở để mở rộng nhưng đóng để sửa đổi'?
3. Mục đích chính của việc sử dụng 'tính trừu tượng' (abstraction) trong OOP là gì?
4. Lỗi nào sau đây KHÔNG phải là lỗi phổ biến trong lập trình hướng đối tượng?
5. 'Phương thức tĩnh' (static method) trong OOP có đặc điểm gì?
6. Trong OOP, thuật ngữ 'dependency injection' (tiêm phụ thuộc) liên quan đến việc:
7. Khi thiết kế lớp, nên ưu tiên tính 'cohesion' (liên kết) cao. Điều này có nghĩa là:
8. Phương thức trừu tượng (abstract method) trong một lớp trừu tượng (abstract class) có đặc điểm gì?
9. Phát biểu nào sau đây so sánh đúng giữa lập trình hướng đối tượng và lập trình hướng thủ tục?
10. Điều gì xảy ra khi bạn cố gắng truy cập một thuộc tính 'private' của một đối tượng từ bên ngoài lớp của nó trong OOP?
11. Trong lập trình hướng đối tượng, 'đa hình tham số' (parametric polymorphism) thường được hiện thực hóa thông qua cơ chế nào?
12. Trong lập trình hướng đối tượng, 'lớp' (class) được xem như là:
13. Ví dụ nào sau đây thể hiện tốt nhất tính 'đa hình' (polymorphism) trong OOP?
14. Trong lập trình hướng đối tượng, tính chất nào cho phép một đối tượng thuộc lớp con có thể hành xử khác đi so với đối tượng thuộc lớp cha khi cùng nhận một thông điệp?
15. Khi nào nên sử dụng lớp trừu tượng (abstract class) thay vì interface (giao diện)?
16. Phương pháp lập trình hướng đối tượng tập trung vào yếu tố nào là chính?
17. Ngược lại với 'overloading', 'overriding' (ghi đè) phương thức là gì?
18. Trong OOP, mối quan hệ 'is-a' (là một) thường được thể hiện thông qua cơ chế nào?
19. Phương thức 'khởi tạo' (constructor) trong lập trình hướng đối tượng có vai trò chính là gì?
20. Mục đích của việc sử dụng 'design patterns' (mẫu thiết kế) trong OOP là gì?
21. Khái niệm nào sau đây mô tả việc ẩn giấu thông tin chi tiết thực hiện bên trong của một đối tượng và chỉ cho phép truy cập thông qua các giao diện công khai?
22. Tính kế thừa (inheritance) trong OOP mang lại lợi ích nào sau đây?
23. Trong OOP, 'overloading' (quá tải) phương thức là gì?
24. Thuật ngữ 'coupling' (kết nối) và 'cohesion' (liên kết) trong OOP liên quan đến điều gì?
25. Trong OOP, 'composition' (tổ hợp) khác với 'inheritance' (kế thừa) như thế nào?
26. Trong OOP, 'garbage collection' (thu gom rác) là quá trình:
27. Trong ngữ cảnh OOP, 'message passing' (truyền thông điệp) đề cập đến điều gì?
28. Trong OOP, 'đa kế thừa' (multiple inheritance) là gì và nó có thể gây ra vấn đề gì?
29. Trong OOP, 'đối tượng' (object) là gì?
30. Chọn phát biểu đúng về 'interface' (giao diện) trong OOP: