Přidáno 925 bajtů,
21. 9. 2012, 14:06 Prečítajte si najskôr heslá [[Polymorfizmus]] a [[Statická metóda]].
Ak je metóda ( napríklad Draw() ) špecifikovaná v predchodcovi aj nasledovníkovi ako virtuálna, potom sa bude procedúra Print_and_Draw() volaná z nasledovníka správať “korektne”, podľa našich predstáv – aj keď je deklarovaná v predchodcovi, zavolá metódu Draw() nasledovníka.
Metóda sa prehlási za virtuálnu, keď za jej hlavičku napíšeme (aj v objekte aj v implementácii) kľúčové slovo [[virtual]]:
procedure Draw( ... ); virtual;
V Turbo Pascale, ak má objekt čo len jednu virtuálnu metódu, musí mať aj aspoň jeden konštruktor. Tento konštruktor môže byť “prázdny” – nemusí obsahovať žiadny príkaz, ale musí byť prítomný. Pri jeho implicitnej výzve Pascal zistí, že v objekte sú aj virtuálne metódy a korektne ich pripojí.
[[Category:Objektovo_orientované_programovanie]]