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

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

1. Phương thức khởi tạo (constructor) trong lớp được sử dụng để làm gì?
2. Phương thức hủy (destructor) trong lập trình hướng đối tượng thường được sử dụng để làm gì?
3. Quan hệ `kết hợp′ (association) giữa các lớp trong OOP biểu thị điều gì?
4. Mục đích chính của việc sử dụng `tính đóng gói′ (encapsulation) là gì?
5. Khái niệm `composition over inheritance′ (hợp thành hơn kế thừa) trong OOP khuyến khích điều gì?
6. Khái niệm nào trong lập trình hướng đối tượng cho phép một đối tượng che giấu dữ liệu bên trong và chỉ tương tác với thế giới bên ngoài thông qua các phương thức công khai?
7. Trong ngữ cảnh của SOLID principles, chữ `L′ trong `SOLID′ đại diện cho nguyên tắc nào?
8. Thuộc tính hoặc phương thức `private′ trong một lớp có phạm vi truy cập như thế nào?
9. Trong lập trình hướng đối tượng, `overloading′ (quá tải) và `overriding′ (ghi đè) phương thức khác nhau như thế nào?
10. Ưu điểm chính của việc sử dụng `interfaces′ (giao diện) trong lập trình hướng đối tượng là gì?
11. Đối tượng (object) trong lập trình hướng đối tượng là gì?
12. Sự khác biệt chính giữa `đa hình thời gian biên dịch′ (compile-time polymorphism) và `đa hình thời gian chạy′ (runtime polymorphism) là gì?
13. Điều gì KHÔNG phải là lợi ích chính của lập trình hướng đối tượng?
14. Điều gì KHÔNG phải là một trong bốn trụ cột chính của lập trình hướng đối tượng (OOP)?
15. Phương pháp lập trình hướng đối tượng nào tập trung vào việc đơn giản hóa sự phức tạp bằng cách chỉ hiển thị các thông tin cần thiết và ẩn đi các chi tiết triển khai?
16. Trong lập trình hướng đối tượng, `tính trừu tượng hóa dữ liệu′ (data abstraction) liên quan mật thiết đến khái niệm nào?
17. Trong lập trình hướng đối tượng, `lớp′ (class) đóng vai trò gì?
18. Trong lập trình hướng đối tượng, `design patterns′ (mẫu thiết kế) là gì?
19. Mục đích của `đóng gói′ (encapsulation) KHÔNG bao gồm:
20. Quan hệ `tập hợp′ (aggregation) khác với `hợp thành′ (composition) như thế nào?
21. 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?
22. Đa hình (polymorphism) trong lập trình hướng đối tượng có nghĩa là gì?
23. Nguyên tắc `Dependency Inversion Principle′ (DIP) trong SOLID khuyến khích điều gì?
24. Khi nào nên sử dụng `đa kế thừa′ (multiple inheritance) và khi nào nên ưu tiên `kế thừa đơn′ (single inheritance) kết hợp với `giao diện′ (interfaces)?
25. Điều gì xảy ra khi bạn tạo một đối tượng của một lớp trừu tượng (abstract class)?
26. Phương thức `static′ trong một lớp có đặc điểm gì?
27. Trong lập trình hướng đối tượng, `coupling′ (sự liên kết) và `cohesion′ (tính gắn kết) có ý nghĩa gì và mối quan hệ giữa chúng như thế nào?
28. Khi nào nên sử dụng `lớp trừu tượng′ (abstract class) thay vì `giao diện′ (interface)?
29. Trong lập trình hướng đối tượng, `giao diện′ (interface) khác với `lớp trừu tượng′ (abstract class) như thế nào?
30. Tính kế thừa (inheritance) trong OOP cho phép điều gì?