Chương 6. Tính đa hình
(Polymorphism)
TR N MINH THÁI
Email: minhthai@itc.edu.vn
Website: www.minhthai.edu.vn
Cập nhật: 10 tháng 04 năm 2015
#2
Nội dung
1. Giới thiệu đa hình
2. Phương thức ảo
3. Lớp trừu tượng
4. Bài tập ví dụ
#3
Giới thiệu [1/6]
Giả sử có 2 hàm
double max(double d1, double d2);
int max(int i1, int i2);
àMột thông điệp (lời gọi hàm) được hiểu theo các cách khác nhau tùy
theo danh sách tham số của thông điệp
àĐa hình hàm đa năng hóa hàm
#4
Giới thiệu [2/6]
Đa hình hiện tượng các đối tượng thuộc các lớp khác nhau
khả năng hiểu cùng một thông điệp theo các cách khác nhau
Cùng thông điệp “nhảy”, kangaroo và con cóc nhảy theo hai kiểu khác nhau:
chúng cùng có hành vi “nhảy” nhưng các hành vi này có nội dung khác nhau
#5
Giới thiệu [3/6]
Đa hình được cài đặt bởi cơ chế overriding
Nếu một phương thức của lớp sđược định nghĩa lại tại
lớp dẫn xuất tđịnh nghĩa tại lớp sở thbị “che” bởi
định nghĩa tại lớp dẫn xuất.
Với overriding, toàn bộ thông điệp (cả tên và tham số) là hoàn
toàn giống nhau - điểm khác nhau lớp đối tượng được
nhận thông điệp.