Sobes.tech
Junior — Middle

Wyjaśnij koncepcję tablicy wirtualnej i jej rolę w implementacji polimorfizmu w programowaniu obiektowym.

sobes.tech AI

Odpowiedź od AI

Tablica wirtualna (vtable) to struktura danych używana w językach programowania obiektowego do obsługi polimorfizmu dynamicznego (w czasie działania). Zawiera wskaźniki na funkcje (metody), które mogą być nadpisywane w klasach pochodnych.

Gdy obiekt wywołuje metodę wirtualną, program za pomocą vtable określa, którą implementację metody wywołać — bazową czy nadpisaną w klasie dziedziczącej. Pozwala to na używanie jednej i tej samej interfejsu dla różnych typów obiektów, zapewniając elastyczność i rozszerzalność kodu.

Przykład: jeśli istnieje klasa bazowa Animal z metodą wirtualną sound(), a klasy Dog i Cat nadpisują tę metodę, to przy wywołaniu sound() przez wskaźnik na Animal zostanie wywołana odpowiednia metoda podklasy dzięki vtable.