Встречается на собеседованиях • сегодня
Расскажи про принцип Барбары Лисков
Принцип подстановки Барбары Лисков (LSP) гласит: подклассы должны быть заменяемыми на свои базовые классы без нарушения работы программы. Это означает, что наследники должны корректно реализовывать поведение родителя, не ужесточая предусловия и не ослабляя постусловия.
Пример нарушения LSP:
java
class Rectangle {
protected int width, height;
void setWidth(int w) { width = w; }
void setHeight(int h) { height = h; }
int area() { return width * height; }
}
class Square extends Rectangle {
@Override
void setWidth(int w) {
width = height = w; // Нарушение LSP - меняет поведение родителя
}
@Override
void setHeight(int h) {
width = height = h; // Нарушение LSP
}
}Здесь Square изменяет базовое поведение Rectangle (установка ширины влияет на высоту), что может сломать код, ожидающий работы с прямоугольником. Правильное решение - не наследовать Square от Rectangle.

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