Bộ số 1

Câu 1

Trong lập trình hướng đối tượng, mục đích chính của việc tạo ra các 'design patterns' (mẫu thiết kế) là gì?

Câu 2

Trong lập trình hướng đối tượng, 'Constructor' (hàm tạo) có vai trò chính là gì?

Câu 3

Tại sao việc sử dụng các lớp trừu tượng (Abstract Classes) hoặc giao diện (Interfaces) lại quan trọng trong thiết kế phần mềm hướng đối tượng?

Câu 4

Khái niệm nào cho phép hai phương thức có cùng tên nhưng khác nhau về số lượng hoặc kiểu tham số, và chúng có thể tồn tại trong cùng một lớp?

Câu 5

Trong lập trình hướng đối tượng, 'Private members' (thành viên riêng tư) của một lớp có thể được truy cập trực tiếp từ đâu?

Câu 6

Một lớp trừu tượng (Abstract Class) có thể có những gì?

Câu 7

Đâu là lợi ích chính của việc sử dụng lập trình hướng đối tượng?

Câu 8

Khi một lớp con ghi đè một phương thức từ lớp cha, nó có thể gọi lại phương thức gốc của lớp cha bằng cách sử dụng từ khóa nào (tùy thuộc ngôn ngữ)?

Câu 9

Khi một đối tượng của lớp con được sử dụng ở nơi mà đối tượng của lớp cha được mong đợi, và nó hoạt động đúng đắn, điều này minh họa cho nguyên tắc nào?

Câu 10

Nếu một lớp không có bất kỳ hàm tạo (constructor) nào được định nghĩa rõ ràng, hệ thống sẽ tự động làm gì?

Câu 11

Khái niệm nào trong lập trình hướng đối tượng đề cập đến việc che giấu chi tiết triển khai bên trong và chỉ hiển thị các chức năng cần thiết cho người dùng?

Câu 12

Trong một hệ thống có nhiều lớp kế thừa lẫn nhau, việc sử dụng 'protected members' (thành viên được bảo vệ) cho phép truy cập từ đâu?

Câu 13

Khái niệm nào liên quan đến việc một lớp có thể có nhiều phiên bản hoặc hình thái khác nhau tùy thuộc vào ngữ cảnh sử dụng?

Câu 14

Khái niệm 'Interface' trong lập trình hướng đối tượng thường định nghĩa tập hợp các phương thức mà một lớp PHẢI thực hiện. Điều này giúp đảm bảo tính gì?

Câu 15

Trong lập trình hướng đối tượng, 'Encapsulation' (đóng gói) giúp bảo vệ dữ liệu bằng cách nào?

Câu 16

Trong lập trình hướng đối tượng, 'Abstract method' (phương thức trừu tượng) có đặc điểm gì?

Câu 17

Đâu là một ví dụ về việc 'đóng gói' (encapsulation) một thuộc tính trong lớp?

Câu 18

Trong lập trình hướng đối tượng, khái niệm nào cho phép một lớp con kế thừa các thuộc tính và phương thức từ một lớp cha, tạo nên mối quan hệ 'là một loại của'?

Câu 19

Nếu một lớp con ghi đè một phương thức của lớp cha, nhưng không gọi lại phương thức gốc, điều này có thể dẫn đến hậu quả gì đối với các lớp hậu duệ xa hơn của lớp cha đó?

Câu 20

Khi một lớp ghi đè một phương thức, nhưng vẫn muốn giữ lại một phần chức năng của phương thức gốc từ lớp cha, nó nên làm gì?

Câu 21

Khi một lớp cha định nghĩa một phương thức và lớp con cung cấp một triển khai cụ thể cho phương thức đó, đây là ví dụ của hiện tượng nào?

Câu 22

Khái niệm nào trong OOP cho phép một 'variable' (biến) kiểu lớp cha có thể trỏ tới một đối tượng của lớp con?

Câu 23

Trong lập trình hướng đối tượng, khi một lớp kế thừa từ nhiều lớp cha, điều này được gọi là gì?

Câu 24

Trong lập trình hướng đối tượng, phương thức 'toString()' thường được sử dụng để làm gì?

Câu 25

Một lớp trong lập trình hướng đối tượng có thể có bao nhiêu lớp cha trực tiếp?

Câu 26

Đâu là một ví dụ về 'Polymorphism' (đa hình) trong lập trình hướng đối tượng?

Câu 27

Trong lập trình hướng đối tượng, để một lớp có thể sử dụng lại mã nguồn từ lớp khác, ta áp dụng nguyên lý nào?

Câu 28

Khái niệm 'Abstraction' (trừu tượng hóa) giúp tập trung vào điều gì khi thiết kế lớp?

Câu 29

Nếu hai lớp có cùng tên phương thức nhưng khác nhau về danh sách tham số (số lượng, kiểu dữ liệu, thứ tự), đây là hiện tượng gì?

Câu 30

Nếu một lớp A là lớp cha của lớp B, và lớp B là lớp cha của lớp C, thì lớp C có thể truy cập trực tiếp các thành viên công khai (public members) của lớp nào?