JavaScript is required

Giả sử rằng:

public class B : A { public B(int i) : base(i) { } }

Biên dịch và chạy đúng, chúng ta có thể kết luận gì về các constructor trong lớp A?

A.

Một constructor lấy tham số có kiểu i.

B.

Đây chỉ là constructor mặc định.

C.

Một constructor lấy tham số có kiểu là int.

D.

A và B

Trả lời:

Đáp án đúng: C


Trong đoạn mã C# đã cho, lớp B kế thừa từ lớp A và có một constructor public B(int i) : base(i) { }. Cú pháp : base(i) chỉ ra rằng constructor của lớp B gọi đến constructor của lớp cha (lớp A) và truyền tham số i cho constructor đó.

Vì đoạn mã biên dịch và chạy đúng, điều này có nghĩa là lớp A phải có một constructor chấp nhận một tham số có kiểu int. Nếu không, trình biên dịch sẽ báo lỗi vì không tìm thấy constructor phù hợp trong lớp A để gọi.

Các lựa chọn khác:

  • Một constructor lấy tham số có kiểu i: Sai vì 'i' là tên biến, không phải kiểu dữ liệu.
  • Đây chỉ là constructor mặc định: Sai vì constructor mặc định không nhận tham số.
  • A và B: Không rõ nghĩa và không chính xác trong ngữ cảnh này.

Câu hỏi liên quan