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

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

1. Trong UML (Unified Modeling Language), ký hiệu nào thường được sử dụng để biểu diễn một lớp?
2. Loại quan hệ nào trong OOP biểu thị sự phụ thuộc tạm thời giữa hai lớp, trong đó một lớp sử dụng một lớp khác nhưng không sở hữu nó?
3. 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 module như thế nào?
4. Chọn phát biểu ĐÚNG về `đối tượng′ (object) trong lập trình hướng đối tượng.
5. Khái niệm nào trong lập trình hướng đối tượng cho phép một đối tượng thuộc lớp con có thể thực hiện các phương thức của lớp cha theo cách riêng của nó?
6. Khi nào nên sử dụng `tính kế thừa′ (inheritance) trong thiết kế hướng đối tượng?
7. Trong lập trình hướng đối tượng, `tính đóng gói′ (encapsulation) nhằm mục đích chính là gì?
8. Điều gì KHÔNG phải là lợi ích chính của lập trình hướng đối tượng?
9. Ưu điểm chính của việc sử dụng `composition′ (kết hợp) so với `inheritance′ (kế thừa) trong tái sử dụng mã là gì?
10. Thuật ngữ nào chỉ ra khả năng một phương thức có thể có nhiều phiên bản khác nhau trong cùng một lớp, phân biệt bởi số lượng hoặc kiểu tham số?
11. Trong lập trình hướng đối tượng, `tính trừu tượng′ (abstraction) tập trung vào điều gì?
12. Mục đích 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ì?
13. Nguyên tắc SOLID nào trong OOP tập trung vào việc một lớp chỉ nên có một lý do duy nhất để thay đổi?
14. Trong lập trình hướng đối tượng, `đa hình′ (polymorphism) có nghĩa là gì?
15. Khi nào thì nên sử dụng `lớp trừu tượng′ (abstract class) thay vì `interface′ (giao diện)?
16. Nguyên tắc `Liskov Substitution Principle′ (LSP) phát biểu điều gì về quan hệ kế thừa?
17. Mục đích 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ì?
18. Trong OOP, `kế thừa′ (inheritance) thể hiện mối quan hệ nào giữa các lớp?
19. Phương thức nào cho phép một lớp con ghi đè (override) hành vi của một phương thức được định nghĩa trong lớp cha?
20. Khái niệm `đa kế thừa′ (multiple inheritance) trong OOP có ưu điểm và nhược điểm gì?
21. Lỗi `diamond problem′ thường xuất hiện trong loại hình kế thừa nào?
22. Nguyên tắc `Interface Segregation Principle′ (ISP) khuyến nghị điều gì về giao diện (interface)?
23. Điều gì KHÔNG phải là một trụ cột chính của lập trình hướng đối tượng?
24. Thuật ngữ nào mô tả một bản thiết kế hoặc khuôn mẫu để tạo ra các đối tượng trong lập trình hướng đối tượng?
25. Trong lập trình hướng đối tượng, `coupling′ (tính liên kết) và `cohesion′ (tính gắn kết) nên được tối ưu hóa như thế nào?
26. Phương pháp lập trình hướng đối tượng nào giúp quản lý sự phức tạp của phần mềm lớn bằng cách chia nhỏ thành các thành phần độc lập?
27. Trong lập trình hướng đối tượng, `composition′ (kết hợp) và `aggregation′ (tổng hợp) khác nhau như thế nào?
28. Trong lập trình hướng đối tượng, `phương thức trừu tượng′ (abstract method) là gì?
29. Phương thức khởi tạo (constructor) trong một lớp được sử dụng để làm gì?
30. Nguyên tắc `Open∕Closed Principle′ (Nguyên tắc mở đóng) trong SOLID khuyến khích điều gì?