Przejdź do treści głównej
INF.04Pytanie #160 z 856klasy-obiekty-i-metody

Zakładając, że przedstawiona hierarchia klas reprezentuje figury geometryczne została prawidłowo zaimplementowana funkcjonalnie, a każda z możliwych figur zawiera metodę liczenia pola, to sposób deklaracji metody liczPole() wskazuje, że znajduje się ona w klasie

Opcje odpowiedzi:
A
figura
Prawidłowa
B
trapez
C
czworokąt
D
trójkąt
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A

Uzasadnienie i szersze wyjaśnienie:

Przedstawiona deklaracja public abstract void liczPole(); opisuje metodę abstrakcyjną. Metody abstrakcyjne mają dwie kluczowe cechy:

  1. Nie posiadają implementacji (ciała) w klasie, w której są zdefiniowane.
  2. Klasa zawierająca metodę abstrakcyjną, sama musi być abstrakcyjna.

Celem metody abstrakcyjnej w klasie bazowej jest narzucenie kontraktu na wszystkie klasy pochodne. Oznacza to, że każda konkretna klasa dziedzicząca po klasie z taką metodą musi dostarczyć jej własną implementację.

W przedstawionej hierarchii, każda figura (trójkąt, kwadrat, trapez) powinna mieć możliwość obliczenia swojego pola, ale wzór na to pole jest dla każdej z nich inny. Dlatego najbardziej logicznym i poprawnym architektonicznie miejscem na zdefiniowanie wspólnego, ale abstrakcyjnego „szablonu” metody liczPole() jest najbardziej ogólna klasa bazowa, czyli Figura. Umieszczenie jej w tym miejscu gwarantuje, że każda klasa dziedzicząca, która reprezentuje konkretną figurę, będzie zmuszona do zaimplementowania logiki obliczania pola, co zapewnia spójność całego systemu.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • Umieszczenie metody abstrakcyjnej w klasach Trapez, Czworokąt czy Trójkąt byłoby niepoprawne, ponieważ nie wymusiłoby jej implementacji w pozostałych gałęziach drzewa dziedziczenia. Na przykład, gdyby metoda była w klasie Czworokąt, klasa Trójkąt nie musiałaby jej implementować.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Klasy obiekty i metody”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 38 pytań z tego działu.