Встречается на собеседованиях • сегодня
Что такое принцип Барбаре Лисков (Liskov Substitution Principle)
Принцип Барбара Лисков (LSP) гласит, что объекты родительского класса должны быть заменяемы объектами дочерних классов без нарушения работы программы. Это означает, что подклассы должны расширять, а не изменять поведение базового класса.
Пример нарушения LSP:
python
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Square(Rectangle):
def init(self, side):
super().init(side, side)
text
def set_width(self, width):
self.width = self.height = width
def set_height(self, height):
self.width = self.height = heighttext
Здесь Square изменяет поведение Rectangle (изменяет оба измерения при изменении одного), что может вызвать проблемы, если код ожидает независимого изменения ширины и высоты. Правильнее было бы не наследовать Square от Rectangle.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы