Junior — Middle
Vysvětlete koncept virtuální tabulky a její roli při implementaci polymorfismu v objektově orientovaném programování.
sobes.tech AI
Odpověď od AI
Virtuální tabulka (vtable) je datová struktura používaná v objektově orientovaných programovacích jazycích k podpoře dynamického (běhového) polymorfismu. Obsahuje ukazatele na funkce (metody), které mohou být přepsány v odvozených třídách.
Když objekt volá virtuální metodu, program prostřednictvím vtable určuje, kterou implementaci metody volat — tu základní třídy nebo přepsanou v odvozené třídě. To umožňuje používat stejný rozhraní pro různé typy objektů, čímž zajišťuje flexibilitu a rozšiřitelnost kódu.
Příklad: pokud existuje základní třída Animal s virtuální metodou sound(), a třídy Dog a Cat tuto metodu přepisují, při volání sound() přes ukazatel na Animal bude volána odpovídající metoda podtřídy díky vtable.