Sobes.tech
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, независимо от конкретного класса. Это и есть пример полиморфизма по типам.