Sobes.tech
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.