Statická metóda: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
 
m (1 revízia: Objektovo orientované programovanie)
 
(Žádný rozdíl)

Aktuální verze z 21. 9. 2012, 14:33

Prečítajte si najskôr heslo Polymorfizmus. Ak o metóde nevyhlásime nič, je automaticky považovaná za statickú (ide o metódu zdedenú a redefinovanú). Ako príklad opäť použijeme metódu Draw() . Nech je táto v dedičovi redefinovaná. Pritom nech je v predchodcovi deklarovaná metóda Print_and_Draw(), ktorú dedič prevzal “aj s chlpami”.

Metóda Print_and_Draw() si postupne volá metódy Print() a Draw(). Pochopiteľne Print_and_Draw() predchodcu si zavolá svoju, to jest predchodcovu metódu Draw(), aj ak je Print_and_Draw() volaná z nasledovníka. Ak objekt chce, aby predchodcova metóda Print_and_Draw() zavolala nasledovníkovu – redefinovanú metódu Draw(), musí metódu Draw() v predchodcovi aj nasledovníkovi vyhlásiť za virtuálnu.