wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Polimorfizm w Pythonie

Total questions: 9

Worksheet time: 5mins

Name
Class
Date
1.

Czym jest polimorfizm w kontekście metod w klasach?

a)

Tworzeniem wielu klas z tym samym konstruktorem

b)

Dziedziczeniem tylko metod prywatnych

c)

Wymuszaniem typów argumentów

d)

Definiowaniem tej samej metody w różnych klasach z inną implementacją

2.

Co się stanie, jeśli różne klasy mają metodę describe() i wywołamy ją w pętli dla obiektów tych klas?

a)

Python zgłosi wyjątek typu

b)

Zostanie użyta tylko jedna wersja metody

c)

Python poprosi o określenie typu

d)

Python wywoła odpowiednią wersję describe() dla każdego obiektu

3.

Który fragment kodu pokazuje polimorfizm w praktyce?

a)

int("10")

b)

print([1, 2, 3])

c)

class A: pass

d)

for obj in objects: obj.opis()

4.

Dlaczego możliwe jest wywołanie tej samej metody w różnych klasach bez błędu w Pythonie?

a)

Bo Python sprawdza typy przy kompilacji

b)

Bo Python ignoruje nieistniejące metody

c)

Bo wszystkie klasy dziedziczą po jednej klasie

d)

Bo Python używa dynamicznego typowania

5.

Co musi mieć każda klasa, aby wspierać polimorficzne wywołanie metody akcja()?

a)

Atrybut __class__

b)

Dziedziczenie z tej samej klasy bazowej

c)

Tę samą sygnaturę konstruktora

d)

Własną implementację metody akcja()

6.

Jak można najlepiej opisać korzyść z używania tej samej metody w różnych klasach?

a)

Skraca nazwę klas

b)

Zwiększa zależność kodu

c)

Zmniejsza wydajność programu

d)

Umożliwia pisanie bardziej elastycznego i uniwersalnego kodu

7.

Jak działa for obj in lista: obj.ruch() w kontekście polimorfizmu?

a)

Wymaga dziedziczenia po object

b)

Rzuca wyjątek, jeśli obj nie ma metody move

c)

Wykonuje jedynie metodę z pierwszego obiektu

d)

Wywołuje metodę ruch() na każdym obiekcie, o ile ją posiada

8.

Jak najlepiej zapewnić, że wszystkie klasy będą mieć wspólną metodę mów()?

a)

Stworzyć klasę pomocniczą z funkcją mów()

b)

Użyć dekoratora @staticmethod

c)

Zdefiniować klasę bez konstruktora

d)

Zdefiniować klasę bazową z metodą mów() i dziedziczyć po niej

9.

Co umożliwia wywołanie tej samej metody info() na obiektach różnych klas bez znajomości ich typu?

a)

Dziedziczenie wielu klas

b)

Ręczna konwersja typów

c)

Użycie konstruktora z argumentem domyślnym

d)

Zgodność metod i dynamiczne typowanie w Pythonie