Jaka jest fundamentalna cecha klasy abstrakcyjnej w programowaniu obiektowym, odróżniająca ją od zwykłej (konkretnej) klasy?
Jaka jest fundamentalna cecha klasy abstrakcyjnej w programowaniu obiektowym, odróżniająca ją od zwykłej (konkretnej) klasy?
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) lubsealed(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.
Pojęcia z tego pytania
- Hermetyzacja (Enkapsulacja w OOP)Jeden z fundamentalnych filarów programowania obiektowego, polegający na ukrywaniu wewnętrznego stanu obiektu (pól prywatnych) i udostępnianiu kontrolowanego dostępu przez publiczne metody/właściwości.
- 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).
- Klasa abstrakcyjna (Abstract Class)Klasa bazowa, z której nie można bezpośrednio utworzyć obiektu, służąca jako wzorzec dla klas pochodnych i mogąca zawierać metody abstrakcyjne oraz zaimplementowane.
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.
- #167
Z której kolekcji należy skorzystać, aby przechowywać dane związane z elementem interfejsu użytkownika tak, aby element był ten informowany przez kolekcję o dodaniu, usunięciu lub zmianie jej elementu
- #172
W przedstawionym filmie ukazano kreator interfejsu użytkownika, dla którego automatycznie powstaje
- #175
Kod w języku JavaScript jest
- #221
Framework to
- #224
Jednostką zalecaną przy tworzeniu układu interfejsu aplikacji jest