Встречается на собеседованиях • сегодня
Связан ли полиморфизм подтипов c принципом подстановки Лисков (Liskov substitution)
Да, полиморфизм подтипов напрямую связан с принципом подстановки Лисков (LSP). LSP — это частный случай полиморфизма подтипов, который гарантирует, что объекты подтипа могут заменять объекты родительского типа без изменения корректности программы.
Пример на Python:
python
class Bird:
def fly(self):
print("Flying")
class Duck(Bird):
def fly(self):
print("Duck flying")
class Ostrich(Bird): # Нарушает LSP
def fly(self):
raise Exception("Can't fly")
def make_bird_fly(bird: Bird):
bird.fly() # Для Ostrich выбросит исключениеВ этом примере Ostrich нарушает LSP, так как не может быть подставлен везде, где ожидается Bird. Правильная иерархия должна сохранять поведение базового класса.

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