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

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

1. Trong OOP, 'đối tượng' (object) là gì?
2. Mục đích chính của tính trừu tượng (abstraction) trong OOP là gì?
3. Lớp trừu tượng (abstract class) khác với lớp thông thường như thế nào?
4. Sự khác biệt chính giữa 'Tổng hợp' (Aggregation) và 'Kết hợp' (Composition) trong quan hệ 'has-a' là gì?
5. Thuộc tính (attribute) của một đối tượng trong OOP tương ứng với khái niệm nào trong lập trình hướng thủ tục?
6. Quan hệ 'has-a' (có một) trong OOP thường được thể hiện thông qua cơ chế nào?
7. Interface trong OOP được sử dụng để làm gì?
8. Phương thức trừu tượng (abstract method) là gì?
9. Ví dụ nào sau đây KHÔNG phải là một nguyên tắc SOLID trong OOP?
10. Phương thức khởi tạo (constructor) trong OOP được sử dụng để làm gì?
11. Trong OOP, 'đa kế thừa' (multiple inheritance) là gì và nó có thể gây ra vấn đề gì?
12. Quan hệ 'is-a' trong OOP thường được thể hiện thông qua cơ chế nào?
13. Lỗi 'NullPointerException' thường xảy ra trong OOP do nguyên nhân nào?
14. Khái niệm nào sau đây mô tả khả năng một đối tượng thuộc lớp con có thể thực hiện phương thức của lớp cha theo cách riêng của nó?
15. Khi nào nên sử dụng tính kế thừa trong thiết kế OOP?
16. Trong OOP, 'tính đóng gói' (encapsulation) giúp đạt được điều gì?
17. Khi nào thì việc sử dụng 'composition' (kết hợp) được ưu tiên hơn 'inheritance' (kế thừa) trong OOP?
18. Lợi ích chính của việc sử dụng các 'design pattern' (mẫu thiết kế) trong OOP là gì?
19. Kỹ thuật 'composition' (kết hợp) trong OOP giúp đạt được điều gì?
20. Nguyên tắc cơ bản nào của lập trình hướng đối tượng cho phép ẩn thông tin chi tiết bên trong của một đối tượng và chỉ hiển thị giao diện cần thiết ra bên ngoài?
21. Mục đích của việc sử dụng 'tính trừu tượng hóa dữ liệu' (data abstraction) là gì?
22. Phương thức 'getter' và 'setter' thường được sử dụng để làm gì trong OOP?
23. Trong lập trình hướng đối tượng, thuật ngữ 'message passing' (truyền thông điệp) đề cập đến điều gì?
24. Nguyên tắc 'Open/Closed Principle' (OCP) trong SOLID khuyến khích điều gì?
25. Điểm khác biệt chính giữa lớp trừu tượng (abstract class) và interface là gì?
26. Nguyên tắc 'Single Responsibility Principle' (SRP) trong SOLID nói về điều gì?
27. Điều gì KHÔNG phải là lợi ích chính của lập trình hướng đối tượng?
28. Phương pháp lập trình hướng đối tượng tập trung vào việc giải quyết vấn đề bằng cách nào?
29. Trong lập trình hướng đối tượng, 'lớp' (class) đóng vai trò gì?
30. Trong OOP, 'tính đa hình' (polymorphism) có nghĩa là gì?