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

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

1. Trong lập trình hướng đối tượng, `đa hình′ (polymorphism) có nghĩa là gì?
2. Trong lập trình hướng đối tượng, `method overriding′ (ghi đè phương thức) liên quan đến tính chất nào?
3. Khi nào thì nên sử dụng `composition′ thay vì `inheritance′ trong thiết kế hướng đối tượng?
4. Mục đích chính của mẫu thiết kế `Factory′ là gì?
5. Nguyên tắc `Liskov Substitution Principle′ (LSP) trong SOLID nói về điều gì?
6. Ưu điểm của lập trình hướng đối tượng so với lập trình hướng thủ tục trong việc phát triển các dự án lớn và phức tạp là gì?
7. Điều gì xảy ra khi bạn tạo một đối tượng từ một lớp trong lập trình hướng đối tượng?
8. Trong lập trình hướng đối tượng, `design pattern′ (mẫu thiết kế) là gì?
9. Trong lập trình hướng đối tượng, `association′, `aggregation′, và `composition′ là các loại quan hệ nào giữa các lớp?
10. Trong lập trình hướng đối tượng, `composition′ (tổ hợp) là gì?
11. Đặc điểm nào sau đây KHÔNG phải là lợi ích của lập trình hướng đối tượng?
12. Mẫu thiết kế `Singleton′ thuộc loại mẫu thiết kế nào?
13. Ưu điểm chính của việc sử dụng `interface′ (giao diện) trong lập trình hướng đối tượng là gì?
14. Sự khác biệt chính giữa `lớp trừu tượng′ (abstract class) và `interface′ là gì?
15. Khái niệm nào liên quan đến việc ẩn chi tiết triển khai và chỉ hiển thị giao diện sử dụng của một đối tượng?
16. Nguyên tắc `Single Responsibility Principle′ (SRP) trong SOLID phát biểu điều gì?
17. Trong lập trình hướng đối tượng, `tính trừu tượng′ (abstraction) mang lại lợi ích chính nào?
18. Khái niệm nào sau đây thể hiện việc gói gọn dữ liệu và phương thức hoạt động trên dữ liệu đó thành một đơn vị duy nhất trong lập trình hướng đối tượng?
19. Mục đích chính của `tính kế thừa′ (inheritance) trong lập trình hướng đối tượng là gì?
20. Thuật ngữ `cohesion′ (liên kết) trong lập trình hướng đối tượng có ý nghĩa gì?
21. Trong lập trình hướng đối tượng, thuật ngữ `coupling′ (kết nối) đề cập đến điều gì?
22. Phương thức khởi tạo (constructor) trong lập trình hướng đối tượng thường được sử dụng để làm gì?
23. Mẫu thiết kế `Observer′ thuộc loại mẫu thiết kế nào?
24. Trong lập trình hướng đối tượng, mối quan hệ `is-a′ (là một) thường được thể hiện thông qua cơ chế nào?
25. Nhược điểm tiềm ẩn của việc lạm dụng tính kế thừa trong lập trình hướng đối tượng là gì?
26. Nguyên tắc `SOLID′ trong lập trình hướng đối tượng là tập hợp các nguyên tắc thiết kế nhằm mục đích gì?
27. Phương thức `getter′ và `setter′ thường được sử dụng để làm gì trong lập trình hướng đối tượng?
28. Tính chất nào của lập trình hướng đối tượng cho phép bạn tạo ra các lớp mới dựa trên các lớp đã tồn tại, mà không cần sửa đổi lớp cũ?
29. Nguyên tắc `Dependency Inversion Principle′ (DIP) trong SOLID khuyến khích điều gì?
30. Trong ngữ cảnh lập trình hướng đối tượng, `lớp′ (class) được xem như là gì?