Przejdź do treści głównej
INF.04Pytanie #656 z 856interfejsy-i-klasy-abstrakcyjne

Jaka jest fundamentalna cecha klasy abstrakcyjnej w programowaniu obiektowym, odróżniająca ją od zwykłej (konkretnej) klasy?

Opcje odpowiedzi:
A
Nie można po niej dziedziczyć.
B
Nie może zawierać żadnych zaimplementowanych (konkretnych) metod, a jedynie ich deklaracje.
C
Wszystkie jej metody i pola muszą być publiczne.
D
Nie można utworzyć jej instancji (obiektu) bezpośrednio.
Prawidłowa
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: D

D. Nie można utworzyć jej instancji (obiektu) bezpośrednio. – Jest to definicyjna cecha klasy abstrakcyjnej. Służy ona wyłącznie jako szablon (baza) dla innych klas, które po niej dziedziczą. Próba stworzenia obiektu klasy abstrakcyjnej (np. new MojaKlasaAbstrakcyjna();) zawsze zakończy się błędem kompilacji.

Dlaczego inne odpowiedzi są nieprawidłowe:

  • A. Nie można po niej dziedziczyć. – Jest to błędne stwierdzenie. Cały cel istnienia klas abstrakcyjnych polega właśnie na tym, aby inne klasy mogły po nich dziedziczyć i rozwijać ich funkcjonalność. Klasy, po których nie można dziedziczyć, są oznaczane jako final (w Javie) lub sealed (w C#).

  • B. Nie może zawierać żadnych zaimplementowanych metod... – To nieprawda i jest to kluczowa różnica między klasą abstrakcyjną a interfejsem. Klasa abstrakcyjna może zawierać zarówno metody abstrakcyjne (bez implementacji), jak i w pełni zaimplementowane, konkretne metody, które klasy pochodne mogą dziedziczyć.

  • C. Wszystkie jej metody i pola muszą być publiczne. – To nieprawda. Składowe klasy abstrakcyjnej mogą mieć dowolne modyfikatory dostępu (public, protected, private), tak samo jak w zwykłej klasie.

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 „Interfejsy i klasy abstrakcyjne”

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