Ngôn nglp trình
Bài 8:
Đa HìnhHàm o
Ging vn: Lê Nguyn Tun Thành
Email:thanhlnt@tlu.edu.vn
BMôn Công NghPhn Mm Khoa CNTT
Trường Đi Hc Thy Li
Ni dung
2
1. Đa hình (Polymorphism)
2. Hàm o (Virtual function)
Gn kết mun (Late binding)
Cài đt hàm o
Khi nào sdng hàm o?
Hàm o thun (Pure Virtual Function)
Lp tru tượng (Abstract Class)
3. Hàm o Con tr
Mrng tương thích kiu
Ép kiu lên (Upcasting)
Ép kiu xung (Downcasting)
Bài ging sdng hình vtrong cun sách Absolute C++. W. Savitch, Addison Wesley, 2002
Đa hình
(Polymorphism)
3
Xét d: vi cùng thông đipnhy”, mt con
kangaroo mtcon cóc snhy hai kiu khác nhau.
Chúng cùng hành vi nhynhưng ni dung ca nh vi này
khác nhau
Đa hình (Polymorphism) hin tượng các đi tượng thuc
các lp khác nhau hiu cùng mt thông đip theo các
cách khác nhau
Đa hình mt trong ba trct quan trng trong OOP
Hàm o
4
Hàm o cung cpkhnăng đa hình này
Hàm thđượcsdngtrước khi thc sđược
đnh nghĩa
d1: c lp mô thình v(1/5)
Hàm thành viên draw()
5
Xây dng các lp cho nhiukiu hình vkhác nhau
d: Hình chnht (Rectangle), hình tn (Circle), hình oval
(Oval)
Mi hình cth đi tượng canhng lp này
Dliu cho hình chnht:chiu cao,chiu rng
Dliu cho hình tròn:m,bán kính
Tt ccác lp này đu kếtha tmt lp cha: Figure
Các lp này đu hàm draw()
Mcđích vmt hình cthtrên màn nh
Mi lp cài đt khác nhau tương ng vi miloi hình v