Встречается на собеседованиях • сегодня
Что такое принцип Барбаре Лисков (Liskov Substitution Principle)
Принцип Барбары Лисков (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;
}
text
@Override
void setHeight(int h) {
width = height = h;
}}
text
Здесь Square нарушает LSP, так как изменяет поведение методов setWidth/setHeight, что может привести к ошибкам, если клиентский код ожидает независимого изменения ширины и высоты. Правильное решение — не наследовать Square от Rectangle.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы