Встречается на собеседованиях • сегодня
Что такое полиморфизм подтипов
Полиморфизм подтипов (subtype polymorphism) — это возможность использовать объекты подтипов (наследников) там, где ожидается объект базового типа. Это основано на принципе подстановки Барбары Лисков (LSP): если S подтип T, то объекты типа T можно заменить объектами типа S без изменения корректности программы.
Пример в Python (утиная типизация позволяет реализовать это без явного наследования):
python
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
def animal_sound(animal: Animal):
print(animal.speak())
# Все три вызова работают благодаря полиморфизму подтипов
animal_sound(Animal()) # Базовый тип
animal_sound(Dog()) # Подтип
animal_sound(Cat()) # ПодтипКлючевые особенности:
- Объекты подклассов могут использоваться вместо объектов родительского класса
- Методы подклассов переопределяют поведение родительских методов
- В Python реализуется через наследование и переопределение методов

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы