Junior — Middle
Vysvetlite koncept virtuálnej tabuľky a jej úlohu pri implementácii polymorfizmu v objektovo orientovanom programovaní.
sobes.tech AI
Odpoveď od AI
Virtuálna tabuľka (vtable) je dátová štruktúra používaná v objektovo orientovaných jazykoch na podporu dynamického (za behu) polymorfizmu. Obsahuje ukazovatele na funkcie (metódy), ktoré môžu byť prepísané v odvodených triedach.
Keď objekt volá virtuálnu metódu, program prostredníctvom vtable určuje, ktorú implementáciu metódy volať — tú základnej triedy alebo tú prepísanú v odvodenom triede. To umožňuje používať rovnaké rozhranie pre rôzne typy objektov, zabezpečujúc flexibilitu a rozšíriteľnosť kódu.
Príklad: ak existuje základná trieda Animal s virtuálnou metódou sound(), a triedy Dog a Cat túto metódu prepíšu, pri volaní sound() cez ukazovateľ na Animal bude volaná príslušná metóda podtriedy vďaka vtable.