Что такое полиморфизм
Python
Middle
Без компании
Что такое полиморфизм
Ответы
**Полиморфизм** — это возможность объектов с одинаковой **спецификацией** (интерфейсом) иметь разную **реализацию**. Проще говоря, это когда одна и та же операция может выполняться по-разному в зависимости от типа объекта, который ее выполняет.
*Пример:*
```
class Animal:
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self): # Переопределение метода
print("Woof!")
class Cat(Animal):
def make_sound(self): # Переопределение метода
print("Meow!")
def animal_sound(animal: Animal): # Функция ожидает объект базового типа
animal.make_sound() # Но вызовется реализация конкретного класса
animal_sound(Dog()) # Woof!
animal_sound(Cat()) # Meow!
```