JavaScript is required

Trong phương án sau, phương án mô tả tính đa hình là:

A.

Lớp hình tròn kế thừa lớp điểm.

B.

Các lớp Điểm, Hình tròn, Hình vuông, Hình chữ nhật… đều có phương thức Vẽ.

C.

Lớp Điểm, Hình tròn cùng có hàm tạo, hàm hủy.

D.

Lớp hình vuông kế thừa lớp hình chữ nhật.

Trả lời:

Đáp án đúng: B


Tính đa hình (Polymorphism) trong lập trình hướng đối tượng cho phép các đối tượng thuộc các lớp khác nhau có thể được xử lý thông qua một giao diện chung. Điều này có nghĩa là một phương thức có thể có nhiều hình thái khác nhau tùy thuộc vào đối tượng gọi nó. * **Phương án 1:** Lớp hình tròn kế thừa lớp điểm. (Đây là kế thừa, không phải đa hình) * **Phương án 2:** Các lớp Điểm, Hình tròn, Hình vuông, Hình chữ nhật… đều có phương thức Vẽ. (Đây chính là đa hình. Mỗi lớp có một cách "Vẽ" khác nhau, phù hợp với bản chất của lớp đó. Khi gọi phương thức Vẽ trên một đối tượng, đối tượng sẽ thực hiện hành vi Vẽ theo cách riêng của nó). * **Phương án 3:** Lớp Điểm, Hình tròn cùng có hàm tạo, hàm hủy. (Đây là tính chất chung của các lớp, không phải đa hình). * **Phương án 4:** Lớp hình vuông kế thừa lớp hình chữ nhật. (Đây là kế thừa, không phải đa hình). Vậy, phương án mô tả đúng nhất về tính đa hình là phương án 2.

Câu hỏi liên quan