Back to questions
Junior — Middle
64
Объясните концепцию полиморфизма по типам в объектно-ориентированном программировании.
Answer from AI
sobes.tech AI
Полиморфизм по типам (типовой полиморфизм) в объектно-ориентированном программировании — это способность функций или методов работать с разными типами данных, не меняя своего кода. Это достигается за счёт параметризации типов (generics) или наследования.
Например, в Python полиморфизм проявляется через duck typing: функция может принимать объекты разных классов, если они поддерживают нужные методы или свойства.
Пример:
class Cat:
def sound(self):
return "Meow"
class Dog:
def sound(self):
return "Woof"
def make_sound(animal):
print(animal.sound())
make_sound(Cat()) # Meow
make_sound(Dog()) # Woof
Здесь функция make_sound работает с любым объектом, у которого есть метод sound, независимо от конкретного класса. Это и есть пример полиморфизма по типам.