Sobes.tech
Junior — Middle
84

Python-da ördək tipi prinsipi vasitəsilə çox formallıq necə həyata keçirilir?

AI-dan cavab

sobes.tech Süni İntellekt

В 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())  # Я могу имитировать утку

Таким образом, полиморфизм достигается не через наследование, а через совместимость интерфейсов объектов.