Na przedstawionym schemacie znajdują się klasy i związki dziedziczenia, gdzie poziom I to klasa bazowa, a pozostałe klasy są jej potomkami. Aby każda z klas poziomu III mogła wywołać tą samą metodę, która jest niezmienna dla nich wszystkich, to zgodnie z zasadami programowania obiektowego należy zdefiniować ją:
Na przedstawionym schemacie znajdują się klasy i związki dziedziczenia, gdzie poziom I to klasa bazowa, a pozostałe klasy są jej potomkami. Aby każda z klas poziomu III mogła wywołać tą samą metodę, która jest niezmienna dla nich wszystkich, to zgodnie z zasadami programowania obiektowego należy zdefiniować ją:
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź to C. Dzięki mechanizmowi dziedziczenia, metody zdefiniowane w klasie bazowej (Poziom I - Samochód) są automatycznie dostępne dla wszystkich klas pochodnych (Poziom II i III), o ile ich modyfikator dostępu na to pozwala (np. public lub protected). Definiowanie jej tylko raz w klasie bazowej jest zgodne z zasadą DRY (Don't Repeat Yourself).
Wyjaśnienie pozostałych opcji:
- A, B, D – Wymagają wielokrotnego powielania tego samego kodu, co jest błędem w sztuce programowania i utrudnia późniejsze utrzymanie aplikacji.
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.
Pojęcia z tego pytania
- Modyfikatory dostępu (Access Modifiers)Słowa kluczowe definiujące widoczność i zakres dostępności składowych klasy (pól, metod, właściwości).
- Dziedziczenie (Inheritance w OOP)Mechanizm programowania obiektowego pozwalający klasie pochodnej (podrzędnej) na przejęcie pól i metod z klasy bazowej (nadrzędnej) oraz ich rozszerzenie lub modyfikację.
- Zmienne i Stałe w programowaniuNazwane obszary pamięci operacyjnej przechowujące dane robocze programu; zmienne pozwalają na modyfikację wartości podczas działania, podczas gdy stałe mają wartość niezmienną.
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.
- #92
Co można powiedzieć o metodach klasy Point?
- #173
Dziedziczenie jest stosowane, gdy istnieje potrzeba
- #207
W przedstawionym kodzie zostało zaprezentowane jedno z podstawowych założeń programowania obiektowego. Jest to
- #237
Odpowiednikami zmiennych i funkcji programowania strukturalnego są w programowaniu obiektowym
- #285
Mechanizm programowania obiektowego w C++, wykorzystujący funkcje wirtualne (z ang. Virtual), który przy wywołaniu metod zwalnia programistę z obowiązku sprawdzenia jaką klasę pochodną aktualnie obsługuje, np. przez wskaźnik nosi nazwę