Xây dựng lớp Hinh_hoc là lớp cơ sở cho các lớp Hinh_Vuong, Hinh_Tron, Hinh_CN, Hinh_TamGiac. Nhận thấy các lớp này đều có phương thức tính D_Tich (diện tích). Tuy nhiên cách tính diện tích của các phương thức D_Tich ứng với các đối tượng của các lớp dẫn xuất là khác nhau. Điều này thể hiện tính:
Trả lời:
Đáp án đúng: C
Tính đa hình (Polymorphism) cho phép các đối tượng thuộc các lớp khác nhau phản ứng khác nhau với cùng một phương thức hoặc toán tử. Trong trường hợp này, phương thức `D_Tich` được định nghĩa trong lớp cơ sở `Hinh_hoc`, nhưng mỗi lớp con (ví dụ: `Hinh_Vuong`, `Hinh_Tron`, `Hinh_CN`, `Hinh_TamGiac`) có cách triển khai riêng để tính diện tích, phù hợp với đặc điểm hình học của từng hình. Điều này chính là thể hiện tính đa hình.
Các lựa chọn khác không phù hợp vì:
- Đóng gói: Liên quan đến việc ẩn giấu thông tin và bảo vệ dữ liệu bên trong một lớp.
- Trừu tượng: Liên quan đến việc tạo ra một lớp cơ sở chỉ định giao diện (các phương thức) mà các lớp con phải triển khai, nhưng không cung cấp chi tiết triển khai.
- Ảo của phương thức: "Ảo" là một tính chất của phương thức, nhưng nó không phải là tên của một tính chất của lập trình hướng đối tượng. Thuật ngữ chính xác ở đây phải là tính đa hình.