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

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

1. Trong OOP, `message passing′ (truyền thông điệp) là cơ chế gì?
2. Điều gì KHÔNG phải là một nguyên tắc SOLID trong OOP?
3. Trong OOP, `abstract class′ (lớp trừu tượng) khác với `concrete class′ (lớp cụ thể) như thế nào?
4. Phương thức `virtual′ (ảo) trong một số ngôn ngữ OOP (như C++) liên quan đến khái niệm nào?
5. Phương thức `destructor′ (phương thức hủy) trong OOP có chức năng chính là gì?
6. Khái niệm `coupling′ (kết nối) và `cohesion′ (liên kết) trong OOP liên quan đến điều gì?
7. Trong OOP, `association′ (kết hợp), `aggregation′ (tập hợp), và `composition′ (hợp thành) là các loại quan hệ nào?
8. Thuộc tính `static′ trong OOP có đặc điểm gì?
9. Lỗi `NullPointerException′ (hoặc tương đương trong ngôn ngữ khác) trong OOP thường xảy ra do nguyên nhân nào?
10. Điều gì KHÔNG phải là một `design pattern′ (mẫu thiết kế) phổ biến trong OOP?
11. Trong OOP, `access modifiers′ (bộ điều khiển truy cập) như `public′, `private′, `protected′ dùng để làm gì?
12. Khi nào nên sử dụng `inheritance′ (kế thừa) thay vì `composition′ (tổ hợp) trong thiết kế OOP?
13. 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ì?
14. Điều gì KHÔNG phải là một đặc điểm của `pure object-oriented programming language′ (ngôn ngữ lập trình hướng đối tượng thuần túy)?
15. Trong OOP, `method overriding′ (ghi đè phương thức) xảy ra khi nào?
16. Trong mô hình hướng đối tượng, `responsibility′ (trách nhiệm) của một lớp nên được thiết kế như thế nào theo nguyên tắc `Single Responsibility Principle′?
17. Phương thức `getter′ và `setter′ thường được sử dụng để làm gì trong OOP?
18. 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ể hành xử khác so với đối tượng thuộc lớp cha khi cùng nhận một thông điệp?
19. Khái niệm `composition′ (tổ hợp) trong OOP khác với `inheritance′ (kế thừa) như thế nào?
20. Ưu điểm chính của việc sử dụng `polymorphism′ (đa hình) trong OOP là gì?
21. Mục đích chính của việc sử dụng `interface′ (giao diện) trong OOP là gì?
22. Khái niệm `abstraction′ (trừu tượng hóa) trong OOP giúp giải quyết vấn đề nào?
23. Trong ngữ cảnh lập trình hướng đối tượng, `inheritance′ (kế thừa) thể hiện mối quan hệ nào giữa các lớp?
24. Khi nào thì `method overloading′ (nạp chồng phương thức) được sử dụng trong OOP?
25. Điều gì xảy ra khi một phương thức `private′ của lớp cha được gọi từ một đối tượng của lớp con?
26. Trong OOP, `garbage collection′ (thu gom rác) là quá trình gì?
27. Trong lập trình hướng đối tượng, `class′ và `object′ có mối quan hệ như thế nào?
28. Tính đóng gói (Encapsulation) trong OOP chủ yếu hướng đến mục tiêu nào?
29. Điều gì KHÔNG phải là lợi ích chính của lập trình hướng đối tượng?
30. Điều gì KHÔNG phải là một lợi ích của việc sử dụng `design patterns′ (mẫu thiết kế) trong OOP?