Z ilu klas może dziedziczyć klasa w C#/Java/Python?
Z ilu klas może dziedziczyć klasa w C#/Java/Python?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: A
Uzasadnienie i szersze wyjaśnienie:
W językach programowania C#, Java oraz Python, klasa może dziedziczyć bezpośrednio tylko po jednej klasie. Jest to tak zwane dziedziczenie jednokrotne (single inheritance). Taki mechanizm został wprowadzony, aby uniknąć problemów i niejednoznaczności, które mogą pojawić się przy dziedziczeniu wielokrotnym (np. tzw. „problem diamentu”).
Chociaż klasa nie może dziedziczyć po wielu klasach, języki te oferują inne mechanizmy do osiągnięcia podobnych rezultatów:
- W C# i Javie klasa może implementować dowolną liczbę interfejsów.
- W Pythonie można stosować tzw. domieszki (mixins), aby dodać funkcjonalność z wielu klas.
Dlaczego pozostałe odpowiedzi są nieprawidłowe?
- Pozostałe opcje są nieprawdziwe. Dziedziczenie po wielu klasach jest cechą języków takich jak C++, ale nie C#, Java czy Python.
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
- 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ę.
- Dziedziczenie (Inheritance)Mechanizm OOP umożliwiający klasie pochodnej przejęcie pól i metod klasy bazowej oraz ich rozszerzenie lub modyfikację (relacja 'jest rodzajem').
- Interfejs (Interface)Czysty kontrakt określający zestaw sygnatur metod i właściwości bez pól stanu, który klasa implementująca musi w całości zrealizować.
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.
- #87
Przedstawiony zapis w języku C# oznacza definicję klasy Car, która:
- #134
W przedstawionym kodzie zdefiniowano abstrakcyjną klasę figura i dziedziczącą po niej klasę prostokąta ze zdefiniowanymi polami i konstruktorami. Wskaż minimalną implementację sekcji /* metody klasy */ dla klasy Prostokat:
- #136
W języku C# szablon List implementuje funkcjonalność listy. Z inicjalizacji obiektu wykaz wynika, że jego elementami są:
- #150
W językach C++ lub C# słowo kluczowe virtual można stosować do
- #153
Zastosowanie modyfikatora abstract w definicji metody klasy oznacza, że