Встречается на собеседованиях • сегодня
Что значит буква L в SOLID
Буква L в SOLID означает Liskov Substitution Principle (LSP) — принцип подстановки Барбары Лисков.
Суть:
Подтипы должны быть заменяемыми своими базовыми типами без нарушения работы программы. Если класс B наследуется от A, то объекты A можно заменить объектами B без изменения корректности кода.
Пример нарушения 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)
# Нарушение LSP: изменение поведения родителя
def set_width(self, width):
self.width = self.height = widthЗдесь Square нарушает LSP, так как изменение ширины влияет на высоту, что неожиданно для кода, рассчитанного на Rectangle.
Как исправить:
Не наследовать Square от Rectangle, а использовать общий интерфейс (например, Shape с методом area()).

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