Junior — Middle
90
Comment le polymorphisme est-il réalisé via le principe de typage duck en Python?
Réponse de l'IA
sobes.tech IA
В Python полиморфизм реализуется через принцип утиной типизации, который означает, что важен не тип объекта, а наличие у него нужных методов или атрибутов. Если объект ведёт себя как ожидаемый тип ("выглядит как утка и крякает как утка"), то его можно использовать в соответствующем контексте.
Например, если функция ожидает объект с методом quack(), то неважно, какого он класса — главное, чтобы этот метод был реализован:
class Duck:
def quack(self):
print("Кря-кря")
class Person:
def quack(self):
print("Я могу имитировать утку")
def make_it_quack(duck_like):
duck_like.quack()
make_it_quack(Duck()) # Кря-кря
make_it_quack(Person()) # Я могу имитировать утку
Таким образом, полиморфизм достигается не через наследование, а через совместимость интерфейсов объектов.