Встречается на собеседованиях • сегодня

Как связаны принцип Барбары Лисков и полиморфизм

Принцип подстановки Барбары Лисков (LSP) гласит, что объекты подклассов должны быть взаимозаменяемы с объектами родительского класса без нарушения корректности программы. Это напрямую связано с полиморфизмом, так как LSP обеспечивает его корректную работу.

Пример:

python
class Bird:
    def fly(self):
        pass

class Duck(Bird):
    def fly(self):
        print("Duck flying")

class Penguin(Bird):  # Нарушение LSP, т.к. пингвины не летают
    def fly(self):
        raise NotImplementedError("Penguins can't fly")

Здесь Penguin нарушает LSP, так как не может заменить Bird без ошибок. Полиморфизм требует, чтобы подклассы сохраняли поведение родителя.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы