Źródło: Arkusze CKE
Jakie jest podstawowe użycie metod wirtualnych?
Warianty odpowiedzi
-
A
Zapewnienie, że metoda działa wyłącznie na danych statycznych
-
B
Umożliwienie dynamicznego wiązania metod w czasie wykonania
-
C
Umożliwienie wielokrotnego dziedziczenia
-
D
Umożliwienie korzystania z metod bezpośrednio z klasy bazowej
Wyjaśnienie
Metody wirtualne służą do realizowania polimorfizmu za pomocą tak zwanego późnego (dynamicznego) wiązania.
Oznacza to, że kompilator nie decyduje z góry w trakcie budowania programu, która wersja metody zostanie wywołana. Decyzja ta zapada dopiero w trakcie działania aplikacji na podstawie rzeczywistego typu obiektu.
Dzięki temu, dysponując np. wskaźnikiem na klasę bazową, program potrafi wywołać właściwą metodę z klasy potomnej.