Sự tương quan giữa Kế thừa và Đa hình

Mọi người cho mình hỏi là:

VD: Một công ty cần quản lí : Nhân Viên Công Nhật, Nhân Viên Quản Lí, Nhân Viên Sản xuất thì khi dùng kế thừa thì 3 đối tượng trên được kế thừa từ class Thông Tin( chứa thông tin chung của 3 loại đối tượng trên ), mỗi đối tượng trên sẽ được cho vào 1 mảng riêng , như vậy thì sẽ có 3 mảng chứa 3 đối tượng . Nhưng khi dùng đa hình thì 3 đối tượng trên sẽ được cho vào 1 mảng chung và xử lí.

Cho mình hỏi là tại sao đa hình lại làm được điều đó ? Và cơ chế nào giúp nó có thể làm được như thế ?
Cảm ơn

5 Likes
  • Tính đa hình làm được vì trong lớp cơ sở nó có thể tạo 1 phương thức ảo (virtual)
  • Để làm được như thế:
    +Sử dụng từ khóa virtual để tạo phương thức ảo trong lớp cơ sở
    +Dùng từ khóa override để định nghĩa lại phương thức ảo của lớp cơ sở trong lớp dẫn xuất
1 Like

Nếu bạn hỏi về cơ chế thì nó gọi là dynamic binding
Đọc thêm ở đây http://northstar-www.dartmouth.edu/doc/ibmcxx/en_US/doc/language/concepts/cndbpoly.htm

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?