Đề 5 – Đề thi, câu hỏi trắc nghiệm online Lập trình hướng đối tượng

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Lập trình hướng đối tượng

Đề 5 - Đề thi, câu hỏi trắc nghiệm online Lập trình hướng đối tượng

1. Lợi ích chính của việc sử dụng tính kế thừa trong lập trình hướng đối tượng là gì?

A. Giảm kích thước của chương trình.
B. Tăng tốc độ thực thi của chương trình.
C. Cho phép tái sử dụng mã và giảm sự trùng lặp.
D. Bảo vệ dữ liệu của đối tượng khỏi bị truy cập trái phép.

2. Mục đích của `design patterns` (mẫu thiết kế) trong lập trình hướng đối tượng là gì?

A. Để tăng tốc độ thực thi chương trình.
B. Để cung cấp các giải pháp đã được chứng minh cho các vấn đề thiết kế phần mềm thường gặp.
C. Để giảm kích thước của chương trình.
D. Để bảo vệ dữ liệu của chương trình khỏi bị truy cập trái phép.

3. Đặc điểm nào sau đây KHÔNG phải là một lợi ích chính của lập trình hướng đối tượng (OOP)?

A. Tính đóng gói (Encapsulation)
B. Tính kế thừa (Inheritance)
C. Tính đa hình (Polymorphism)
D. Tăng tốc độ thực thi chương trình một cách tuyệt đối

4. Điều gì xảy ra khi bạn tạo một đối tượng (object) từ một lớp (class)?

A. Một lớp mới được tạo ra.
B. Một bản sao của lớp được tạo ra trong bộ nhớ.
C. Một tham chiếu đến lớp được tạo ra.
D. Không có gì xảy ra.

5. Khái niệm nào cho phép bạn ẩn các chi tiết triển khai phức tạp và chỉ hiển thị các chức năng cần thiết cho người dùng?

A. Đóng gói (Encapsulation)
B. Kế thừa (Inheritance)
C. Trừu tượng (Abstraction)
D. Đa hình (Polymorphism)

6. Trong Python, phương thức nào được gọi khi một đối tượng được tạo ra?

A. __init__
B. __new__
C. __create__
D. __constructor__

7. Trong Python, làm thế nào để khai báo một thuộc tính là private (chỉ có thể truy cập từ bên trong lớp)?

A. Sử dụng từ khóa `private`.
B. Sử dụng tiền tố một dấu gạch dưới (`_`) trước tên thuộc tính.
C. Sử dụng tiền tố hai dấu gạch dưới (`__`) trước tên thuộc tính.
D. Không có cách nào để khai báo thuộc tính private trong Python.

8. Trong lập trình hướng đối tượng, `interface` (giao diện) là gì?

A. Một lớp có thể được khởi tạo.
B. Một bản thiết kế cho một lớp, định nghĩa các phương thức mà lớp phải triển khai.
C. Một đối tượng cụ thể của một lớp.
D. Một biến chứa dữ liệu.

9. Phương pháp nào sau đây KHÔNG liên quan đến việc quản lý bộ nhớ trong lập trình hướng đối tượng?

A. Garbage collection (Thu gom rác)
B. Dynamic memory allocation (Cấp phát bộ nhớ động)
C. Static memory allocation (Cấp phát bộ nhớ tĩnh)
D. Polymorphism (Đa hình)

10. Sự khác biệt chính giữa `class` (lớp) và `object` (đối tượng) là gì?

A. Lớp là một thể hiện của đối tượng.
B. Đối tượng là một thể hiện của lớp.
C. Lớp và đối tượng là hai khái niệm hoàn toàn giống nhau.
D. Lớp là một kiểu dữ liệu cơ bản, còn đối tượng là một kiểu dữ liệu phức tạp.

11. Trong Java, từ khóa nào ngăn chặn một lớp bị kế thừa?

A. static
B. final
C. abstract
D. private

12. Trong lập trình hướng đối tượng, `tính đóng gói` (encapsulation) đề cập đến điều gì?

A. Khả năng một đối tượng có nhiều hình thức khác nhau.
B. Cơ chế cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp khác.
C. Việc kết hợp dữ liệu (thuộc tính) và các phương thức thao tác trên dữ liệu đó vào trong một đơn vị duy nhất (lớp), đồng thời che giấu thông tin nội bộ khỏi thế giới bên ngoài.
D. Khả năng một lớp có thể được sử dụng lại trong nhiều chương trình khác nhau.

13. Trong Java, từ khóa nào được sử dụng để tạo một đối tượng mới từ một lớp?

A. class
B. object
C. new
D. create

14. Trong ngữ cảnh của OOP, `lớp` (class) là gì?

A. Một thể hiện cụ thể của một đối tượng.
B. Một khuôn mẫu hoặc bản thiết kế để tạo ra các đối tượng.
C. Một biến chứa dữ liệu.
D. Một hàm thực hiện một tác vụ cụ thể.

15. Trong OOP, `đa hình` (polymorphism) nghĩa là gì?

A. Khả năng một đối tượng có thể được tạo ra từ nhiều lớp khác nhau.
B. Khả năng một phương thức có thể thực hiện các hành động khác nhau tùy thuộc vào đối tượng gọi nó.
C. Khả năng một lớp có thể kế thừa từ nhiều lớp khác nhau.
D. Khả năng một đối tượng có thể thay đổi lớp của nó trong quá trình thực thi.

16. Nguyên tắc `Liskov Substitution` trong SOLID nói về điều gì?

A. Mỗi lớp chỉ nên có một trách nhiệm duy nhất.
B. Các lớp nên mở rộng để thêm chức năng, nhưng đóng để sửa đổi.
C. Các lớp con phải có khả năng thay thế các lớp cha của chúng mà không làm thay đổi tính đúng đắn của chương trình.
D. Nhiều giao diện đặc biệt tốt hơn một giao diện chung.

17. Trong lập trình hướng đối tượng, `constructor` (hàm tạo) là gì?

A. Một phương thức được sử dụng để xóa một đối tượng.
B. Một phương thức được sử dụng để tạo và khởi tạo một đối tượng.
C. Một phương thức được sử dụng để truy cập dữ liệu của một đối tượng.
D. Một phương thức được sử dụng để thay đổi kiểu dữ liệu của một đối tượng.

18. Khi một lớp kế thừa từ một lớp khác, lớp kế thừa được gọi là gì?

A. Lớp cha (Parent class)
B. Lớp cơ sở (Base class)
C. Lớp con (Child class)
D. Lớp trừu tượng (Abstract class)

19. 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 (method)?

A. parent
B. self
C. object
D. instance

20. Trong lập trình hướng đối tượng, SOLID là viết tắt của những nguyên tắc thiết kế nào?

A. Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion
B. Simple, Obvious, Logical, Intuitive, Detailed
C. Structured, Organized, Layered, Implemented, Documented
D. Secure, Optimized, Lightweight, Intelligent, Dependable

21. Trong lập trình hướng đối tượng, `abstract class` (lớp trừu tượng) là gì?

A. Một lớp không thể được kế thừa.
B. Một lớp không có thuộc tính.
C. Một lớp không có phương thức.
D. Một lớp không thể được khởi tạo trực tiếp và thường chứa các phương thức trừu tượng.

22. Thuộc tính (attribute) của một đối tượng đại diện cho điều gì?

A. Hành vi của đối tượng.
B. Dữ liệu hoặc trạng thái của đối tượng.
C. Kiểu dữ liệu của đối tượng.
D. Tên của đối tượng.

23. Phương pháp nào cho phép 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)?

A. Đóng gói (Encapsulation)
B. Kế thừa (Inheritance)
C. Đa hình (Polymorphism)
D. Abstraction (Trừu tượng)

24. Trong C++, toán tử nào được sử dụng để truy cập các thành viên (thuộc tính và phương thức) của một đối tượng thông qua con trỏ?

A. .
B. ->
C. :
D. ::

25. Phương thức (method) của một đối tượng đại diện cho điều gì?

A. Dữ liệu hoặc trạng thái của đối tượng.
B. Hành vi của đối tượng.
C. Kiểu dữ liệu của đối tượng.
D. Tên của đối tượng.

26. Phương thức nào sau đây thường được sử dụng để giải phóng bộ nhớ được cấp phát cho một đối tượng?

A. create()
B. delete()
C. construct()
D. allocate()

27. Trong C++, từ khóa nào được sử dụng để chỉ định rằng một phương thức có thể được ghi đè trong các lớp con?

A. static
B. final
C. virtual
D. abstract

28. Trong lập trình hướng đối tượng, `method overriding` (ghi đè phương thức) là gì?

A. Việc tạo ra một phương thức mới trong một lớp con có cùng tên và kiểu tham số với một phương thức trong lớp cha.
B. Việc ẩn một phương thức trong lớp cha.
C. Việc gọi một phương thức từ một lớp khác.
D. Việc thay đổi tên của một phương thức.

29. Phương thức nào sau đây KHÔNG phải là một nguyên tắc cơ bản của lập trình hướng đối tượng?

A. Tính trừu tượng (Abstraction)
B. Tính đóng gói (Encapsulation)
C. Tính kế thừa (Inheritance)
D. Tính tuần tự (Sequential)

30. Trong lập trình hướng đối tượng, mục đích chính của việc sử dụng tính đóng gói là gì?

A. Để tăng tốc độ thực thi chương trình.
B. Để giảm thiểu việc sử dụng bộ nhớ.
C. Để bảo vệ dữ liệu của đối tượng khỏi bị truy cập và sửa đổi trái phép.
D. Để cho phép một lớp kế thừa từ nhiều lớp khác nhau.

1 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

1. Lợi ích chính của việc sử dụng tính kế thừa trong lập trình hướng đối tượng là gì?

2 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

2. Mục đích của 'design patterns' (mẫu thiết kế) trong lập trình hướng đối tượng là gì?

3 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

3. Đặc điểm nào sau đây KHÔNG phải là một lợi ích chính của lập trình hướng đối tượng (OOP)?

4 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

4. Điều gì xảy ra khi bạn tạo một đối tượng (object) từ một lớp (class)?

5 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

5. Khái niệm nào cho phép bạn ẩn các chi tiết triển khai phức tạp và chỉ hiển thị các chức năng cần thiết cho người dùng?

6 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

6. Trong Python, phương thức nào được gọi khi một đối tượng được tạo ra?

7 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

7. Trong Python, làm thế nào để khai báo một thuộc tính là private (chỉ có thể truy cập từ bên trong lớp)?

8 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

8. Trong lập trình hướng đối tượng, 'interface' (giao diện) là gì?

9 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

9. Phương pháp nào sau đây KHÔNG liên quan đến việc quản lý bộ nhớ trong lập trình hướng đối tượng?

10 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

10. Sự khác biệt chính giữa 'class' (lớp) và 'object' (đối tượng) là gì?

11 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

11. Trong Java, từ khóa nào ngăn chặn một lớp bị kế thừa?

12 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

12. Trong lập trình hướng đối tượng, 'tính đóng gói' (encapsulation) đề cập đến điều gì?

13 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

13. Trong Java, từ khóa nào được sử dụng để tạo một đối tượng mới từ một lớp?

14 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

14. Trong ngữ cảnh của OOP, 'lớp' (class) là gì?

15 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

15. Trong OOP, 'đa hình' (polymorphism) nghĩa là gì?

16 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

16. Nguyên tắc 'Liskov Substitution' trong SOLID nói về điều gì?

17 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

17. Trong lập trình hướng đối tượng, 'constructor' (hàm tạo) là gì?

18 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

18. Khi một lớp kế thừa từ một lớp khác, lớp kế thừa được gọi là gì?

19 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

19. 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 (method)?

20 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

20. Trong lập trình hướng đối tượng, SOLID là viết tắt của những nguyên tắc thiết kế nào?

21 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

21. Trong lập trình hướng đối tượng, 'abstract class' (lớp trừu tượng) là gì?

22 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

22. Thuộc tính (attribute) của một đối tượng đại diện cho điều gì?

23 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

23. Phương pháp nào cho phép 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)?

24 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

24. Trong C++, toán tử nào được sử dụng để truy cập các thành viên (thuộc tính và phương thức) của một đối tượng thông qua con trỏ?

25 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

25. Phương thức (method) của một đối tượng đại diện cho điều gì?

26 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

26. Phương thức nào sau đây thường được sử dụng để giải phóng bộ nhớ được cấp phát cho một đối tượng?

27 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

27. Trong C++, từ khóa nào được sử dụng để chỉ định rằng một phương thức có thể được ghi đè trong các lớp con?

28 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

28. Trong lập trình hướng đối tượng, 'method overriding' (ghi đè phương thức) là gì?

29 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

29. Phương thức nào sau đây KHÔNG phải là một nguyên tắc cơ bản của lập trình hướng đối tượng?

30 / 30

Category: Lập trình hướng đối tượng

Tags: Bộ đề 5

30. Trong lập trình hướng đối tượng, mục đích chính của việc sử dụng tính đóng gói là gì?