JavaScript is required

Code:

public class B : A { }

A.
Định nghĩa một class dẫn xuất tất cả các phương thức của A.
B.
Định nghĩa một class chỉ dẫn xuất những phương thức được bảo vệ và public của A.
C.
Cả A và B.
D.
Code trên bị lỗi.
Trả lời:

Đáp án đúng: D


Đoạn code `public class B : A { }` thể hiện tính kế thừa trong lập trình hướng đối tượng. Class `B` kế thừa từ class `A`. Khi một class kế thừa từ một class khác, nó sẽ tự động có được tất cả các thành viên (fields, methods, properties, events, indexers, operators, constructors, destructors) của class mà nó kế thừa, trừ các constructor và destructor. Tuy nhiên, khả năng truy cập các thành viên kế thừa (ví dụ, các phương thức) phụ thuộc vào mức độ truy cập (access modifier) của chúng trong class cha (`A`). - Các thành viên `public` của `A` sẽ có thể truy cập được từ `B` (và từ bất kỳ đâu khác). - Các thành viên `protected` của `A` sẽ có thể truy cập được từ `B` (và từ các class con khác của `A`). - Các thành viên `internal` của `A` sẽ có thể truy cập được từ `B` nếu `A` và `B` nằm trong cùng một assembly. - Các thành viên `private` của `A` sẽ **không** thể truy cập được từ `B`. Do đó, class `B` kế thừa tất cả các thành viên của `A`, nhưng chỉ có thể trực tiếp truy cập (sử dụng) các thành viên `public` và `protected` (và `internal` nếu cùng assembly). Đáp án 1 mô tả đúng nhất điều này.

Câu hỏi liên quan