JavaScript is required

Ta khai báo lớp cơ sở ảo khi nào:

A.

Khi có sự trùng lặp lớp kế thừa trong đa kế thừa và kế thừa nhiều mức.

B.

Tất cả đều sai.

C.

Khi lớp có phương thức ảo thì bắt buộc phải khai báo là lớp cơ sở ảo.

D.

Khi có sự trùng tên giữa các phương thức của các lớp khác nhau.

Trả lời:

Đáp án đúng: A


Lớp cơ sở ảo được sử dụng trong đa kế thừa để giải quyết vấn đề "diamond problem" (vấn đề hình thoi). Khi một lớp dẫn xuất kế thừa từ nhiều lớp cơ sở mà các lớp cơ sở này lại kế thừa từ cùng một lớp cơ sở chung, lớp dẫn xuất sẽ có nhiều bản sao của các thành viên của lớp cơ sở chung này. Để tránh sự trùng lặp và mơ hồ này, ta sử dụng lớp cơ sở ảo. Khi một lớp cơ sở được khai báo là ảo, chỉ có một bản sao duy nhất của lớp cơ sở này được chia sẻ giữa tất cả các lớp dẫn xuất kế thừa từ nó. Như vậy, đáp án đúng là khi có sự trùng lặp lớp kế thừa trong đa kế thừa và kế thừa nhiều mức.

Câu hỏi liên quan