ID: 3042 OOP - Zaawansowane Średnie

Źródło: Arkusze CKE

Które z poniższych twierdzeń najlepiej charakteryzuje metodę wirtualną?

Warianty odpowiedzi

  1. A

    Metoda, która jest zawsze stosowana w konstruktorach danej klasy

  2. B

    Metoda, która działa wyłącznie dla statycznych pól danej klasy

  3. C

    Metoda, która może być wywoływana tylko przez klasę nadrzędną

  4. D

    Metoda, która może być przesłonięta w klasie dziedziczącej

Wyjaśnienie

Metoda wirtualna to funkcja zadeklarowana w klasie bazowej z myślą o tym, że klasy potomne będą mogły zmienić jej działanie.

Pozwala to na realizację polimorfizmu dynamicznego. Program w trakcie działania sam decyduje, którą wersję metody wywołać, patrząc na rzeczywisty typ obiektu.

Dzięki temu możesz napisać uniwersalny kod obsługujący klasę nadrzędną, a wywoła się konkretna logika nadpisana w podklasie.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Zaawansowane