NEW
Font size
WorksheetsPolimorfizm w Pythonie
Total questions: 9
Worksheet time: 5mins
Czym jest polimorfizm w kontekście metod w klasach?
Tworzeniem wielu klas z tym samym konstruktorem
Dziedziczeniem tylko metod prywatnych
Wymuszaniem typów argumentów
Definiowaniem tej samej metody w różnych klasach z inną implementacją
Co się stanie, jeśli różne klasy mają metodę describe() i wywołamy ją w pętli dla obiektów tych klas?
Python zgłosi wyjątek typu
Zostanie użyta tylko jedna wersja metody
Python poprosi o określenie typu
Python wywoła odpowiednią wersję describe() dla każdego obiektu
Który fragment kodu pokazuje polimorfizm w praktyce?
int("10")
print([1, 2, 3])
class A: pass
for obj in objects: obj.opis()
Dlaczego możliwe jest wywołanie tej samej metody w różnych klasach bez błędu w Pythonie?
Bo Python sprawdza typy przy kompilacji
Bo Python ignoruje nieistniejące metody
Bo wszystkie klasy dziedziczą po jednej klasie
Bo Python używa dynamicznego typowania
Co musi mieć każda klasa, aby wspierać polimorficzne wywołanie metody akcja()?
Atrybut __class__
Dziedziczenie z tej samej klasy bazowej
Tę samą sygnaturę konstruktora
Własną implementację metody akcja()
Jak można najlepiej opisać korzyść z używania tej samej metody w różnych klasach?
Skraca nazwę klas
Zwiększa zależność kodu
Zmniejsza wydajność programu
Umożliwia pisanie bardziej elastycznego i uniwersalnego kodu
Jak działa for obj in lista: obj.ruch() w kontekście polimorfizmu?
Wymaga dziedziczenia po object
Rzuca wyjątek, jeśli obj nie ma metody move
Wykonuje jedynie metodę z pierwszego obiektu
Wywołuje metodę ruch() na każdym obiekcie, o ile ją posiada
Jak najlepiej zapewnić, że wszystkie klasy będą mieć wspólną metodę mów()?
Stworzyć klasę pomocniczą z funkcją mów()
Użyć dekoratora @staticmethod
Zdefiniować klasę bez konstruktora
Zdefiniować klasę bazową z metodą mów() i dziedziczyć po niej
Co umożliwia wywołanie tej samej metody info() na obiektach różnych klas bez znajomości ich typu?
Dziedziczenie wielu klas
Ręczna konwersja typów
Użycie konstruktora z argumentem domyślnym
Zgodność metod i dynamiczne typowanie w Pythonie
