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

Đề 7 - 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, từ khóa 'super' thường được sử dụng để làm gì trong một lớp con?
2. Điều gì là quan trọng nhất khi thiết kế các lớp và đối tượng trong lập trình hướng đối tượng?
3. Phương thức 'static' trong lập trình hướng đối tượng khác với phương thức 'instance' như thế nào?
4. Phương thức 'abstract' (trừu tượng) trong lập trình hướng đối tượng có đặc điểm gì?
5. Trong lập trình hướng đối tượng, 'method overriding' (ghi đè phương thức) và 'method overloading' (nạp chồng phương thức) khác nhau như thế nào?
6. Ưu điểm nào sau đây KHÔNG phải là ư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?
7. Mục đích của 'garbage collection' (thu gom rác) trong các ngôn ngữ lập trình hướng đối tượng là gì?
8. Khái niệm 'đa hình tham số' (parametric polymorphism) trong OOP thường được hiện thực hóa thông qua cơ chế nào?
9. Trong lập trình hướng đối tượng, 'class' và 'object' có mối quan hệ như thế nào?
10. Trong UML (Unified Modeling Language), biểu đồ lớp (class diagram) được sử dụng để mô hình hóa khía cạnh nào của hệ thống hướng đối tượng?
11. Tính kế thừa (inheritance) mang lại lợi ích nào sau đây trong lập trình hướng đối tượng?
12. Trong lập trình hướng đối tượng, 'coupling' (kết nối) và 'cohesion' (gắn kết) là hai khái niệm quan trọng. Bạn muốn thiết kế hệ thống với mức độ 'coupling' và 'cohesion' như thế nào?
13. Trong lập trình hướng đối tượng, 'lớp trừu tượng' (abstract class) thường được sử dụng để làm gì?
14. Khái niệm nào sau đây của lập trình hướng đối tượng cho phép một đối tượng che giấu thông tin chi tiết bên trong và chỉ hiển thị những thông tin cần thiết ra bên ngoài?
15. Mục đích chính của việc sử dụng 'design patterns' (mẫu thiết kế) trong lập trình hướng đối tượng là gì?
16. Lỗi nào sau đây thường gặp khi mới bắt đầu lập trình hướng đối tượng?
17. Khi nào thì việc sử dụng 'đa kế thừa' (multiple inheritance) có thể gây ra vấn đề 'diamond problem' (vấn đề hình thoi)?
18. Trong lập trình hướng đối tượng, 'composition over inheritance' (kết hợp hơn kế thừa) là một nguyên tắc thiết kế khuyến khích điều gì?
19. Đ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 hầu hết các ngôn ngữ OOP?
20. Trong lập trình hướng đối tượng, 'composition' (kết hợp) khác với 'inheritance' (kế thừa) như thế nào?
21. Trong ngữ cảnh của lập trình hướng đối tượng, 'dependency injection' (DI - tiêm phụ thuộc) là gì và nó giải quyết vấn đề gì?
22. 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?
23. Đâu là đặc điểm chính của tính đa hình (polymorphism) trong lập trình hướng đối tượng?
24. Nguyên tắc 'SOLID' nào trong lập trình hướng đối tượng khuyến khích việc một lớp chỉ nên có một lý do duy nhất để thay đổi?
25. Giao diện (interface) và lớp trừu tượng (abstract class) có điểm chung nào sau đây?
26. Điều gì KHÔNG phải là một thành phần cơ bản của lập trình hướng đối tượng?
27. 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ì?
28. Trong lập trình hướng đối tượng, 'tính đóng gói' (encapsulation) liên quan mật thiết đến khái niệm nào sau đây?
29. Khái niệm 'covariance' và 'contravariance' liên quan đến điều gì trong lập trình hướng đối tượng, đặc biệt là trong ngữ cảnh của kiểu dữ liệu và kế thừa?
30. Khi nào nên sử dụng 'tính kế thừa đa lớp' (multilevel inheritance) trong thiết kế hướng đối tượng?