Strona główna › Pytania INF.04 › Pytanie 68
INF.04 · pytanie #68
Które z poniższych twierdzeń najlepiej charakteryzuje metodę wirtualną?
- AMetoda, która może być przesłonięta w klasie dziedziczącej
- BMetoda, która jest zawsze stosowana w konstruktorach danej klasy
- CMetoda, która działa wyłącznie dla statycznych pól danej klasy
- DMetoda, która może być wywoływana tylko przez klasę nadrzędną
Poprawna odpowiedź: A. Metoda, która może być przesłonięta w klasie dziedziczącej
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Wirtualna metoda to taka, która jest zdefiniowana w klasie bazowej i można ją nadpisać w klasie pochodnej. Fajna sprawa z tą metodą wirtualną jest taka, że działa na zasadzie dynamicznego wiązania, co w praktyce oznacza, że program decyduje w czasie działania, którą wersję metody wywołać. Dzięki temu mamy polimorfizm – możemy użyć różnych wersji tej samej metody, w zależności od typu obiektu, na którym pracujemy. To naprawdę ważny aspekt programowania obiektowego, bo pozwala na większą elastyczność i łatwiejsze rozwijanie kodu. W hierarchiach klas to się sprawdza, bo klasa bazowa ma ogólne metody, a klasy pochodne mogą je dostosować do swoich potrzeb.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.