JavaScript is required

Tính chất kế thừa chỉ ra rằng khi lớp A kế thừa lớp B thì:

A.
Lớp A sẽ có toàn bộ những thành phần thuộc private và public của lớp B
B.
Lớp A sẽ có toàn bộ những thành phần thuộc protected và public của lớp B
C.
Lớp A sẽ có toàn bộ những thành phần thuộc private, protected và public của lớp B
D.
Lớp B sẽ có toàn bộ những thành phần thuộc protected và public của lớp A
Trả lời:

Đáp án đúng: B


Tính chất kế thừa trong lập trình hướng đối tượng cho phép một lớp (lớp con) kế thừa các thuộc tính và phương thức của một lớp khác (lớp cha). Tuy nhiên, không phải tất cả các thành phần của lớp cha đều được kế thừa. Cụ thể: * **`private`:** Các thành phần `private` của lớp cha không được kế thừa bởi lớp con. Chúng chỉ có thể được truy cập từ bên trong lớp cha. * **`protected`:** Các thành phần `protected` của lớp cha được kế thừa bởi lớp con và có thể được truy cập từ bên trong lớp con và các lớp con cháu của nó. Chúng cũng có thể được truy cập từ các lớp khác trong cùng một package. * **`public`:** Các thành phần `public` của lớp cha được kế thừa bởi lớp con và có thể được truy cập từ bất kỳ đâu. Do đó, khi lớp A kế thừa lớp B, lớp A sẽ có toàn bộ những thành phần thuộc `protected` và `public` của lớp B. Phương án 1 sai vì lớp A không kế thừa các thành phần `private` của lớp B. Phương án 3 sai vì lớp A không kế thừa các thành phần `private` của lớp B. Phương án 4 sai vì nó đảo ngược vai trò của lớp A và lớp B.

Câu hỏi liên quan