Statická metóda

From Delphi & Pascal (česká wiki)
Jump to navigation Jump to search

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.