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

Что такое принцип подстановки Барбары Лисков

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

Пример нарушения LSP:

java
class Rectangle {
    protected int width, height;

    public void setWidth(int w) { width = w; }
    public void setHeight(int h) { height = h; }
}

class Square extends Rectangle {
    @Override
    public void setWidth(int w) {
        super.setWidth(w);
        super.setHeight(w); // Нарушение LSP - изменяет поведение
    }
}

Здесь Square нарушает LSP, так как изменяет логику установки размеров. Клиентский код, ожидающий работать с Rectangle, сломается при подстановке Square.

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

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

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

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