30/09/2018, 16:09

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

Trần Công Thiện viết 18:25 ngày 30/09/2018
  • 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
Dang H. viết 18:22 ngày 30/09/2018

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

Bài liên quan
0