Đề 8 – Bài tập, đề thi 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

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

1. Trong lập trình hướng đối tượng, 'đa hình′ (polymorphism) có nghĩa là gì?

A. Một đối tượng có nhiều thuộc tính
B. Một lớp có nhiều phương thức
C. Một phương thức có thể hoạt động theo nhiều cách khác nhau tùy thuộc vào đối tượng
D. Một đối tượng có thể thuộc nhiều lớp

2. Trong lập trình hướng đối tượng, 'method overriding′ (ghi đè phương thức) liên quan đến tính chất nào?

A. Đóng gói
B. Kế thừa
C. Trừu tượng hóa
D. Đa hình

3. Khi nào thì nên sử dụng 'composition′ thay vì 'inheritance′ trong thiết kế hướng đối tượng?

A. Khi muốn tái sử dụng code một cách tối đa
B. Khi muốn thể hiện mối quan hệ 'is-a′ (là một)
C. Khi muốn thể hiện mối quan hệ 'has-a′ (có một) và tăng tính linh hoạt, giảm sự phụ thuộc
D. Khi cần tối ưu hóa hiệu suất thực thi

4. Mục đích chính của mẫu thiết kế 'Factory′ là gì?

A. Quản lý vòng đời của đối tượng
B. Đóng gói thuật toán
C. Cung cấp một giao diện để tạo đối tượng mà không cần chỉ định lớp cụ thể của đối tượng sẽ được tạo
D. Đảm bảo một lớp chỉ có một thể hiện

5. Nguyên tắc 'Liskov Substitution Principle′ (LSP) trong SOLID nói về điều gì?

A. Các lớp nên được mở rộng để thêm chức năng mới, không sửa đổi code cũ
B. Một lớp chỉ nên có một trách nhiệm
C. Các lớp con phải có thể thay thế cho 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. Phụ thuộc vào abstraction, không phụ thuộc vào implementation

6. Ưu điểm của lập trình hướng đối tượng so với lập trình hướng thủ tục trong việc phát triển các dự án lớn và phức tạp là gì?

A. Tốc độ thực thi nhanh hơn
B. Dễ dàng quản lý và bảo trì code, tăng tính tái sử dụng
C. Yêu cầu ít bộ nhớ hơn
D. Đơn giản hơn trong việc viết code ban đầu

7. Điều gì xảy ra khi bạn tạo một đối tượng từ một lớp trong lập trình hướng đối tượng?

A. Lớp bị xóa khỏi bộ nhớ
B. Một bản sao của lớp được tạo ra trong bộ nhớ
C. Lớp trở thành một đối tượng khác
D. Không có gì xảy ra cho đến khi đối tượng được sử dụng

8. Trong lập trình hướng đối tượng, 'design pattern′ (mẫu thiết kế) là gì?

A. Một thuật toán cụ thể để giải quyết một vấn đề
B. Một bản thiết kế hoàn chỉnh cho một ứng dụng
C. Một giải pháp thiết kế đã được chứng minh và tái sử dụng cho các vấn đề thường gặp trong thiết kế phần mềm
D. Một ngôn ngữ lập trình mới

9. Trong lập trình hướng đối tượng, 'association′, 'aggregation′, và 'composition′ là các loại quan hệ nào giữa các lớp?

A. Quan hệ kế thừa
B. Quan hệ phụ thuộc
C. Quan hệ cấu trúc
D. Quan hệ đa hình

10. Trong lập trình hướng đối tượng, 'composition′ (tổ hợp) là gì?

A. Một loại kế thừa đặc biệt
B. Một cách để tạo ra các đối tượng phức tạp bằng cách kết hợp các đối tượng đơn giản hơn
C. Một cơ chế để thực hiện đa hình
D. Một kỹ thuật để ẩn dữ liệu

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

A. Tăng tính tái sử dụng mã
B. Giảm độ phức tạp của chương trình
C. Tăng tốc độ thực thi chương trình
D. Dễ dàng bảo trì và mở rộng

12. Mẫu thiết kế 'Singleton′ thuộc loại mẫu thiết kế nào?

A. Mẫu Creational (Khởi tạo)
B. Mẫu Structural (Cấu trúc)
C. Mẫu Behavioral (Hành vi)
D. Mẫu Architectural (Kiến trúc)

13. Ưu điểm 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ì?

A. Tăng hiệu suất chương trình
B. Cho phép đa kế thừa từ nhiều lớp
C. Định nghĩa một hợp đồng mà các lớp phải tuân theo, tăng tính mềm dẻo và khả năng mở rộng
D. Thay thế hoàn toàn cho lớp trừu tượng

14. Sự khác biệt chính giữa 'lớp trừu tượng′ (abstract class) và 'interface′ là gì?

A. Lớp trừu tượng không thể chứa phương thức trừu tượng, interface thì có thể
B. Lớp trừu tượng có thể chứa cả phương thức trừu tượng và phương thức đã được cài đặt, interface chỉ chứa phương thức trừu tượng
C. Interface có thể có thuộc tính, lớp trừu tượng thì không
D. Không có sự khác biệt, chúng có thể thay thế cho nhau hoàn toàn

15. Khái niệm nào liên quan đến việc ẩn chi tiết triển khai và chỉ hiển thị giao diện sử dụng của một đối tượng?

A. Đóng gói
B. Kế thừa
C. Trừu tượng hóa
D. Đa hình

16. Nguyên tắc 'Single Responsibility Principle′ (SRP) trong SOLID phát biểu điều gì?

A. Một lớp nên có nhiều hơn một trách nhiệm
B. Một lớp chỉ nên có một và chỉ một lý do để thay đổi
C. Các lớp con nên có thể thay thế hoàn toàn cho lớp cha của chúng
D. Giao diện cụ thể nên được ưu tiên hơn giao diện tổng quát

17. Trong lập trình hướng đối tượng, 'tính trừu tượng′ (abstraction) mang lại lợi ích chính nào?

A. Tăng cường tính bảo mật dữ liệu
B. Giảm độ phức tạp, tập trung vào các khía cạnh quan trọng
C. Cho phép tái sử dụng mã nguồn
D. Tạo ra nhiều hình thái của đối tượng

18. Khái niệm nào sau đây thể hiện việc gói gọn dữ liệu và phương thức hoạt động trên dữ liệu đó thành một đơn vị duy nhất trong lập trình hướng đối tượng?

A. Tính trừu tượng
B. Tính đa hình
C. Tính đóng gói
D. Tính kế thừa

19. Mục đích chính của 'tính kế thừa′ (inheritance) trong lập trình hướng đối tượng là gì?

A. Tăng tính bảo mật dữ liệu
B. Cho phép một lớp con kế thừa các thuộc tính và phương thức từ lớp cha
C. Tạo ra nhiều hình thái của đối tượng
D. Đóng gói dữ liệu và phương thức

20. Thuật ngữ 'cohesion′ (liên kết) trong lập trình hướng đối tượng có ý nghĩa gì?

A. Mức độ phụ thuộc giữa các lớp
B. Mức độ các phần tử bên trong một module liên quan và tập trung vào cùng một mục tiêu
C. Khả năng mở rộng của hệ thống
D. Tính bảo mật của dữ liệu

21. Trong lập trình hướng đối tượng, thuật ngữ 'coupling′ (kết nối) đề cập đến điều gì?

A. Mức độ phụ thuộc lẫn nhau giữa các lớp hoặc module
B. Khả năng tái sử dụng mã nguồn
C. Tính dễ đọc của code
D. Hiệu suất thực thi của chương trình

22. Phương thức khởi tạo (constructor) trong lập trình hướng đối tượng thường được sử dụng để làm gì?

A. Hủy bỏ đối tượng khi không còn sử dụng
B. Thay đổi trạng thái của đối tượng sau khi tạo
C. Khởi tạo giá trị ban đầu cho các thuộc tính của đối tượng
D. Thực hiện các phép tính trên đối tượng

23. Mẫu thiết kế 'Observer′ thuộc loại mẫu thiết kế nào?

A. Mẫu Creational (Khởi tạo)
B. Mẫu Structural (Cấu trúc)
C. Mẫu Behavioral (Hành vi)
D. Mẫu Concurrency (Đồng thời)

24. Trong lập trình hướng đối tượng, mối quan hệ 'is-a′ (là một) thường được thể hiện thông qua cơ chế nào?

A. Đóng gói
B. Kế thừa
C. Trừu tượng hóa
D. Đa hình

25. Nhược điểm tiềm ẩn của việc lạm dụng tính kế thừa trong lập trình hướng đối tượng là gì?

A. Giảm hiệu suất chương trình
B. Tăng tính linh hoạt của code
C. Có thể dẫn đến 'fragile base class problem′ (vấn đề lớp cơ sở dễ vỡ) và giảm tính linh hoạt do sự phụ thuộc chặt chẽ
D. Giảm độ phức tạp của chương trình

26. Nguyên tắc 'SOLID′ trong lập trình hướng đối tượng là tập hợp các nguyên tắc thiết kế nhằm mục đích gì?

A. Tăng tốc độ phát triển phần mềm
B. Giảm thiểu lỗi trong quá trình lập trình
C. Thiết kế phần mềm dễ bảo trì, mở rộng và linh hoạt hơn
D. Tối ưu hóa hiệu suất chương trình

27. Phương thức 'getter′ và 'setter′ thường được sử dụng để làm gì trong lập trình hướng đối tượng?

A. Tăng tốc độ truy cập thuộc tính
B. Kiểm soát quyền truy cập và sửa đổi thuộc tính của đối tượng
C. Tạo ra các thuộc tính mới
D. Xóa các thuộc tính của đối tượng

28. Tính chất nào của lập trình hướng đối tượng cho phép bạn tạo ra các lớp mới dựa trên các lớp đã tồn tại, mà không cần sửa đổi lớp cũ?

A. Đóng gói
B. Kế thừa
C. Trừu tượng hóa
D. Đa hình

29. Nguyên tắc 'Dependency Inversion Principle′ (DIP) trong SOLID khuyến khích điều gì?

A. Phụ thuộc vào implementation cụ thể, không phụ thuộc vào abstraction
B. Phụ thuộc vào abstraction (giao diện, lớp trừu tượng), không phụ thuộc vào implementation cụ thể
C. Các lớp con nên kế thừa tất cả các phương thức của lớp cha
D. Một lớp nên có nhiều trách nhiệm để tối ưu hóa hiệu suất

30. Trong ngữ cảnh lập trình hướng đối tượng, 'lớp′ (class) được xem như là gì?

A. Một thể hiện cụ thể của đối tượng
B. Một bản thiết kế hoặc khuôn mẫu cho các đối tượng
C. Một phương thức đặc biệt trong đối tượng
D. Một thuộc tính của đối tượng

1 / 30

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

Tags: Bộ đề 6

1. Trong lập trình hướng đối tượng, `đa hình′ (polymorphism) có nghĩa là gì?

2 / 30

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

Tags: Bộ đề 6

2. Trong lập trình hướng đối tượng, `method overriding′ (ghi đè phương thức) liên quan đến tính chất nào?

3 / 30

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

Tags: Bộ đề 6

3. Khi nào thì nên sử dụng `composition′ thay vì `inheritance′ trong thiết kế hướng đối tượng?

4 / 30

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

Tags: Bộ đề 6

4. Mục đích chính của mẫu thiết kế `Factory′ là gì?

5 / 30

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

Tags: Bộ đề 6

5. Nguyên tắc `Liskov Substitution Principle′ (LSP) trong SOLID nói về điều gì?

6 / 30

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

Tags: Bộ đề 6

6. Ưu điểm của lập trình hướng đối tượng so với lập trình hướng thủ tục trong việc phát triển các dự án lớn và phức tạp là gì?

7 / 30

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

Tags: Bộ đề 6

7. Điều gì xảy ra khi bạn tạo một đối tượng từ một lớp trong lập trình hướng đối tượng?

8 / 30

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

Tags: Bộ đề 6

8. Trong lập trình hướng đối tượng, `design pattern′ (mẫu thiết kế) là gì?

9 / 30

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

Tags: Bộ đề 6

9. Trong lập trình hướng đối tượng, `association′, `aggregation′, và `composition′ là các loại quan hệ nào giữa các lớp?

10 / 30

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

Tags: Bộ đề 6

10. Trong lập trình hướng đối tượng, `composition′ (tổ hợp) là gì?

11 / 30

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

Tags: Bộ đề 6

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

12 / 30

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

Tags: Bộ đề 6

12. Mẫu thiết kế `Singleton′ thuộc loại mẫu thiết kế nào?

13 / 30

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

Tags: Bộ đề 6

13. Ưu điểm 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ì?

14 / 30

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

Tags: Bộ đề 6

14. Sự khác biệt chính giữa `lớp trừu tượng′ (abstract class) và `interface′ là gì?

15 / 30

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

Tags: Bộ đề 6

15. Khái niệm nào liên quan đến việc ẩn chi tiết triển khai và chỉ hiển thị giao diện sử dụng của một đối tượng?

16 / 30

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

Tags: Bộ đề 6

16. Nguyên tắc `Single Responsibility Principle′ (SRP) trong SOLID phát biểu điều gì?

17 / 30

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

Tags: Bộ đề 6

17. Trong lập trình hướng đối tượng, `tính trừu tượng′ (abstraction) mang lại lợi ích chính nào?

18 / 30

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

Tags: Bộ đề 6

18. Khái niệm nào sau đây thể hiện việc gói gọn dữ liệu và phương thức hoạt động trên dữ liệu đó thành một đơn vị duy nhất trong lập trình hướng đối tượng?

19 / 30

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

Tags: Bộ đề 6

19. Mục đích chính của `tính kế thừa′ (inheritance) trong lập trình hướng đối tượng là gì?

20 / 30

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

Tags: Bộ đề 6

20. Thuật ngữ `cohesion′ (liên kết) trong lập trình hướng đối tượng có ý nghĩa gì?

21 / 30

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

Tags: Bộ đề 6

21. Trong lập trình hướng đối tượng, thuật ngữ `coupling′ (kết nối) đề cập đến điều gì?

22 / 30

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

Tags: Bộ đề 6

22. Phương thức khởi tạo (constructor) trong lập trình hướng đối tượng thường được sử dụng để làm gì?

23 / 30

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

Tags: Bộ đề 6

23. Mẫu thiết kế `Observer′ thuộc loại mẫu thiết kế nào?

24 / 30

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

Tags: Bộ đề 6

24. Trong lập trình hướng đối tượng, mối quan hệ `is-a′ (là một) thường được thể hiện thông qua cơ chế nào?

25 / 30

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

Tags: Bộ đề 6

25. Nhược điểm tiềm ẩn của việc lạm dụng tính kế thừa trong lập trình hướng đối tượng là gì?

26 / 30

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

Tags: Bộ đề 6

26. Nguyên tắc `SOLID′ trong lập trình hướng đối tượng là tập hợp các nguyên tắc thiết kế nhằm mục đích gì?

27 / 30

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

Tags: Bộ đề 6

27. Phương thức `getter′ và `setter′ thường được sử dụng để làm gì trong lập trình hướng đối tượng?

28 / 30

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

Tags: Bộ đề 6

28. Tính chất nào của lập trình hướng đối tượng cho phép bạn tạo ra các lớp mới dựa trên các lớp đã tồn tại, mà không cần sửa đổi lớp cũ?

29 / 30

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

Tags: Bộ đề 6

29. Nguyên tắc `Dependency Inversion Principle′ (DIP) trong SOLID khuyến khích điều gì?

30 / 30

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

Tags: Bộ đề 6

30. Trong ngữ cảnh lập trình hướng đối tượng, `lớp′ (class) được xem như là gì?