Back to questions
Junior — Middle
50
Можете рассказать о случаях применения принципа полиморфизма в ваших проектах?
Answer from AI
sobes.tech AI
В моих проектах на Python принцип полиморфизма часто применялся при работе с разными типами объектов, реализующими одинаковый интерфейс или методы. Например, у меня был класс Animal с методом speak(), а подклассы Dog и Cat реализовывали этот метод по-своему. Благодаря полиморфизму можно было писать функции, принимающие объекты типа Animal и вызывать speak(), не заботясь о конкретном типе:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Гав"
class Cat(Animal):
def speak(self):
return "Мяу"
def animal_sound(animal: Animal):
print(animal.speak())
animal_sound(Dog()) # Выведет: Гав
animal_sound(Cat()) # Выведет: Мяу
Это упрощало расширение кода и поддержку, позволяя добавлять новые классы с нужным поведением без изменения существующего кода.