JavaScript is required

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

A.

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

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 hình tròn kế thừa lớp điểm.

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 phản ứng khác nhau đối với cùng một phương thức. Điều này có nghĩa là một phương thức có thể có nhiều hình thức (đa hình) khi được gọi trên các đối tượng khác nhau. * **Phương án 1:** Lớp Điểm, Hình tròn cùng có hàm tạo, hàm hủy. => Không liên quan trực tiếp đến tính đa hình. Các lớp khác nhau có các hàm này là điều bình thường, không thể hiện tính đ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 là ví dụ điển hình của tính đa hình. Mỗi lớp hình học có một cách vẽ khác nhau, mặc dù chúng đều có phương thức `Vẽ`. Khi gọi phương thức `Vẽ` trên một đối tượng cụ thể (ví dụ, một đối tượng Hình tròn), phương thức `Vẽ` của lớp Hình tròn sẽ được thực thi, và tương tự cho các lớp khác. * **Phương án 3:** Lớp hình tròn kế thừa lớp điểm. => Đây là tính kế thừa, 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 cũng là tính kế thừa, không phải đa hình. Vì vậy, phương án 2 mô tả chính xác nhất tính đa hình.

Câu hỏi liên quan