Przejdź do treści głównej
INF.04Pytanie #530 z 856dziedziczenie-i-polimorfizm

Na obrazie przedstawiono schemat dziedziczenia klas oraz deklarację metody wraz z jej opisem. Zgodnie z zasadami programowania obiektowego metodę Zatrudnij powinno się umieścić

Definicja metody: protected bool Zatrudnij(int stawka) {...} Opis metody: mogą korzystać z niej wszystkie klasy dziedziczące po klasie bazowej Osoba, w tym klasy utworzone w przyszłości. Dla wszystkich klas metoda ma identyczną implementację.

Opcje odpowiedzi:
A
we wszystkich klasach drzewa dziedziczenia, także tych, które powstaną w przyszłości.
B
tylko w klasie Osoba.
Prawidłowa
C
tylko w klasach Pracownik, Student oraz w każdej nowo powstałej metodzie drzewa dziedziczenia.
D
jedynie w klasie Pracownik.
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź to B. Skoro metoda ma być dostępna dla wszystkich potomków klasy Osoba (obecnych i przyszłych) i ma mieć identyczną implementację, należy zdefiniować ją raz w klasie bazowej (Osoba). Mechanizm dziedziczenia automatycznie udostępni ją klasom pochodnym (Pracownik, Student). Jest to zgodne z zasadą DRY (Don't Repeat Yourself).

Wyjaśnienie pozostałych opcji:

  • A i C – Powodowałoby to niepotrzebną duplikację kodu.
  • D – Wtedy klasa Student (i inne przyszłe) nie miałyby dostępu do tej metody, co jest sprzeczne z wymaganiami.

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 „Dziedziczenie i polimorfizm”

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