Bộ số 1

Câu 1

Một ví dụ về mối quan hệ 'is-a' (là một) trong lập trình hướng đối tượng là:

Câu 2

Tính kế thừa (Inheritance) trong lập trình hướng đối tượng cho phép một lớp mới:

Câu 3

Trong lập trình hướng đối tượng, một 'abstract class' (lớp trừu tượng) có thể được sử dụng để:

Câu 4

Trong ngôn ngữ lập trình Java, từ khóa nào được sử dụng để khai báo một lớp trừu tượng?

Câu 5

Trong lập trình hướng đối tượng, một lớp có thể có nhiều phương thức với cùng tên nhưng khác nhau về tham số. Đây là ví dụ của:

Câu 6

Trong lập trình hướng đối tượng, 'composition' (thành phần) khác với 'inheritance' (kế thừa) ở điểm nào?

Câu 7

Một lớp cha có thể có nhiều lớp con khác nhau, nhưng một lớp con thường chỉ kế thừa từ một lớp cha duy nhất (trong hầu hết các ngôn ngữ OOP hiện đại). Đây là đặc điểm của:

Câu 8

Tại sao việc sử dụng các lớp và đối tượng trong lập trình hướng đối tượng lại được ưa chuộng trong phát triển phần mềm lớn?

Câu 9

Trong ngôn ngữ lập trình C++, từ khóa nào được sử dụng để khai báo một lớp chỉ có thể được kế thừa bởi các lớp khác nhưng không thể tạo đối tượng trực tiếp?

Câu 10

Tại sao việc sử dụng các phương thức getter và setter (thường đi kèm với nguyên lý đóng gói) lại quan trọng?

Câu 11

Khi nói về 'object identity' (nhận dạng đối tượng) và 'object equality' (bình đẳng đối tượng), chúng khác nhau như thế nào?

Câu 12

Một lớp có thể có một hoặc nhiều đối tượng là thể hiện của nó. Đây là minh họa cho nguyên lý nào?

Câu 13

Khi một lớp triển khai một giao diện (interface), nó phải làm gì?

Câu 14

Nguyên lý đóng gói giúp bảo vệ dữ liệu của đối tượng bằng cách nào?

Câu 15

Một phương thức có cùng tên, cùng tham số đầu vào nhưng có thể có kiểu trả về khác nhau trong các lớp khác nhau thuộc cùng một hệ thống kế thừa được gọi là gì?

Câu 16

Một 'final class' (lớp cuối cùng) trong các ngôn ngữ như Java có ý nghĩa gì?

Câu 17

Trong ngữ cảnh của lập trình hướng đối tượng, 'virtual function' (hàm ảo) được sử dụng chủ yếu cho mục đích gì?

Câu 18

Trong lập trình hướng đối tượng, khái niệm nào dùng để mô tả một tập hợp các thuộc tính và phương thức chung cho một nhóm đối tượng có cùng đặc điểm?

Câu 19

Một lớp được gọi là 'concrete class' (lớp cụ thể) khi nào?

Câu 20

Nguyên lý đa hình cho phép một câu lệnh gọi phương thức có thể thực thi mã khác nhau tùy thuộc vào:

Câu 21

Trong lập trình hướng đối tượng, 'abstraction' (trừu tượng hóa) và 'encapsulation' (đóng gói) có mối liên hệ như thế nào?

Câu 22

Nguyên lý đóng gói (Encapsulation) trong lập trình hướng đối tượng nhấn mạnh điều gì?

Câu 23

Khái niệm đa hình (Polymorphism) cho phép:

Câu 24

Trong các nguyên lý của lập trình hướng đối tượng, nguyên lý nào tập trung vào việc trừu tượng hóa các thuộc tính và hành vi của đối tượng để chỉ hiển thị những gì cần thiết cho người dùng?

Câu 25

Trong lập trình hướng đối tượng, việc tạo ra các lớp con cho phép:

Câu 26

Một 'interface' (giao diện) trong lập trình hướng đối tượng có vai trò gì?

Câu 27

Một đối tượng trong lập trình hướng đối tượng là một thể hiện cụ thể của một lớp. Điều này có nghĩa là gì?

Câu 28

Khi một lớp con ghi đè (override) một phương thức của lớp cha, điều gì sẽ xảy ra?

Câu 29

Khái niệm nào mô tả việc tạo ra các phương thức có cùng tên nhưng khác nhau về số lượng hoặc kiểu tham số đầu vào trong cùng một lớp?

Câu 30

Khi một lớp kế thừa từ hai lớp cha trở lên (đa kế thừa), điều này có thể dẫn đến vấn đề gì?