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

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

1. Thuật ngữ nào mô tả việc một đối tượng có thể được xem như là một thể hiện của nhiều kiểu dữ liệu khác nhau (ví dụ, một `Xe hơi′ cũng có thể được xem là một `Phương tiện giao thông′)?
2. Trong thiết kế hướng đối tượng, nguyên tắc `SOLID′ nào tập trung vào việc một lớp chỉ nên có một lý do duy nhất để thay đổi?
3. Ưu điểm chính của việc sử dụng giao diện (interface) trong OOP là gì?
4. Khi nào thì `hợp thành′ (composition) được ưu tiên hơn `kế thừa′ (inheritance) trong thiết kế OOP?
5. Phương thức `ảo′ (virtual method) trong OOP liên quan chặt chẽ nhất đến khái niệm nào?
6. Trong OOP, `tính đa hình′ (polymorphism) giúp cải thiện điều gì trong thiết kế phần mềm?
7. Trong lập trình hướng đối tượng, `đa hình′ (polymorphism) có nghĩa là gì?
8. Khái niệm nào trong OOP liên quan đến việc nhóm dữ liệu (thuộc tính) và phương thức thao tác trên dữ liệu đó vào một đơn vị duy nhất?
9. Lợi ích chính của việc sử dụng `tính đóng gói′ (encapsulation) KHÔNG bao gồm điều nào sau đây?
10. Trong OOP, `tính đóng gói′ (encapsulation) hỗ trợ trực tiếp cho mục tiêu nào sau đây?
11. Sự khác biệt chính giữa `nạp chồng phương thức′ (method overloading) và `ghi đè phương thức′ (method overriding) là gì?
12. Điều gì KHÔNG phải là lợi ích chính của lập trình hướng đối tượng?
13. Trong OOP, `đa hình thời gian biên dịch′ (compile-time polymorphism) thường được thực hiện thông qua cơ chế nào?
14. Trong OOP, `lớp′ (class) và `đối tượng′ (object) khác nhau như thế nào?
15. Trong ngữ cảnh của OOP, `tính kế thừa′ (inheritance) thúc đẩy điều gì?
16. Điều gì KHÔNG phải là một loại quan hệ phổ biến giữa các lớp trong OOP?
17. Phương thức đặc biệt nào trong một lớp được tự động gọi khi một đối tượng của lớp đó được tạo ra?
18. Mục đích của việc sử dụng `phương thức tĩnh′ (static method) trong một lớp là gì?
19. Điều gì xảy ra nếu một lớp con không ghi đè (override) một phương thức ảo (virtual method) của lớp cha?
20. Mục đích của việc sử dụng `lớp trừu tượng′ (abstract class) trong OOP là gì?
21. Thuật ngữ nào mô tả khả năng một lớp con (subclass) kế thừa các thuộc tính và phương thức từ lớp cha (superclass)?
22. Kiểu quan hệ nào trong OOP thể hiện mối quan hệ `có một′ (has-a) giữa các lớp?
23. Loại kế thừa nào mà một lớp con có thể kế thừa từ nhiều lớp cha?
24. Từ khóa nào thường được sử dụng để chỉ đối tượng hiện tại trong một phương thức của lớp?
25. Điều gì xảy ra khi một đối tượng không còn được tham chiếu bởi bất kỳ phần nào của chương trình trong các ngôn ngữ OOP có cơ chế `thu gom rác′ (garbage collection)?
26. Thuật ngữ nào mô tả một mẫu thiết kế (design pattern) trong OOP, cung cấp một giao diện thống nhất để truy cập các thuật toán khác nhau, cho phép thay đổi thuật toán một cách độc lập với client sử dụng nó?
27. Mục đích chính của việc sử dụng `tính trừu tượng′ (abstraction) trong OOP là gì?
28. Nguyên tắc nào 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ị các chức năng cần thiết ra bên ngoài?
29. Khi một lớp kế thừa từ một lớp trừu tượng, điều gì bắt buộc lớp con phải thực hiện?
30. Trong OOP, `phạm vi truy cập′ (access modifier) `protected′ có ý nghĩa gì?