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

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

1. Khái niệm `lớp trừu tượng′ (abstract class) trong OOP có đặc điểm nào?
2. Thuật ngữ `đa hình′ (polymorphism) có nghĩa đen là gì?
3. Mục đích chính của việc sử dụng `tính đóng gói′ (encapsulation) là gì?
4. Trong OOP, mối quan hệ `is-a′ thường được thể hiện thông qua cơ chế nào?
5. Nguyên tắc `Interface Segregation Principle′ (ISP) trong SOLID khuyến nghị điều gì?
6. Nguyên tắc `Single Responsibility Principle′ (SRP) trong SOLID khuyến khích điều gì?
7. Phương thức khởi tạo (constructor) trong lập trình hướng đối tượng được sử dụng để làm gì?
8. Trong OOP, `giao diện′ (interface) khác với `lớp trừu tượng′ (abstract class) chủ yếu ở điểm nào?
9. Khái niệm nào sau đây là **trụ cột** của lập trình hướng đối tượng, cho phép ẩn giấu thông tin chi tiết bên trong và chỉ hiển thị giao diện tương tác bên ngoài?
10. Trong ngữ cảnh của tính đa hình (polymorphism), `ghi đè phương thức′ (method overriding) nghĩa là gì?
11. Điều gì sẽ xảy ra nếu một lớp con không ghi đè (override) một phương thức kế thừa từ lớp cha?
12. Trong OOP, `phạm vi truy cập′ (access modifiers) được sử dụng để làm gì?
13. Từ khóa nào thường được sử dụng để thể hiện tính kế thừa trong nhiều ngôn ngữ lập trình hướng đối tượng?
14. Trong ngữ cảnh OOP, `đa kế thừa′ (multiple inheritance) đề cập đến điều gì?
15. Khi nào nên sử dụng `tính đa hình′ (polymorphism) trong thiết kế hướng đối tượng?
16. Mối quan hệ `has-a′ (có một) trong OOP thường được thể hiện thông qua cơ chế nào?
17. Khái niệm `tính trừu tượng′ (abstraction) trong OOP tập trung vào điều gì?
18. Nguyên tắc `Liskov Substitution Principle′ (LSP) trong SOLID liên quan đến điều gì?
19. Trong lập trình hướng đối tượng, `thành phần′ (component) thường được hiểu là gì?
20. Tính kế thừa (inheritance) mang lại lợi ích chính nào trong lập trình hướng đối tượng?
21. Trong lập trình hướng đối tượng, `lớp′ (class) đóng vai trò gì?
22. Sự khác biệt chính giữa `tổng hợp′ (aggregation) và `hợp thành′ (composition) trong mối quan hệ `has-a′ là gì?
23. Nguyên tắc `Open∕Closed Principle′ (OCP) trong SOLID phát biểu rằng phần mềm nên như thế nào?
24. Vấn đề `kim cương′ (diamond problem) trong OOP liên quan đến khái niệm nào?
25. Nguyên tắc `SOLID′ trong OOP là tập hợp các nguyên tắc thiết kế hướng đến mục tiêu gì?
26. Phương thức nào sau đây **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?
27. Phương thức `static′ trong OOP có đặc điểm gì?
28. Trong lập trình hướng đối tượng, `đối tượng′ (object) là gì?
29. Ưu điểm chính của việc sử dụng lập trình hướng đối tượng so với lập trình hướng thủ tục là gì?
30. Nguyên tắc `Dependency Inversion Principle′ (DIP) trong SOLID tập trung vào việc giảm sự phụ thuộc giữa các thành phần phần mềm bằng cách nào?