Poziom: średni
Fiszka #149 · Python
Co to jest duck typing i jak wpływa na polimorfizm w Pythonie?
💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).
Pokaż odpowiedź i przykład kodu
Opis i wyjaśnienie:
Duck typing to koncepcja, według której typ obiektu jest mniej ważny niż metody lub atrybuty, które posiada. W Pythonie pozwala to na implementację polimorfizmu bez konieczności używania dziedziczenia czy interfejsów, ponieważ ważne jest, aby obiekt zachowywał się w określony sposób, a nie jaki ma dokładnie typ.
Przykład w Pythonie:
class Kot:
def dzwiek(self): return "miau"
class Pies:
def dzwiek(self): return "hau"
for zw in [Kot(), Pies()]:
print(zw.dzwiek())