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

Актуален ли принцип подстановки Барбары Лисков в современных системах

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

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

java
class Rectangle {
    protected int width, height;
    
    void setWidth(int w) { width = w; }
    void setHeight(int h) { height = h; }
}

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

text
Если код ожидает `Rectangle`, но получает `Square`, это может вызвать ошибки, так как `Square` изменяет контракт родителя.  

**Где применяется:**  
- Интерфейсы (например, `List` и его реализации `ArrayList`, `LinkedList`)  
- Полиморфизм в SOLID  
- Тестирование (моки должны соблюдать LSP)  

Игнорирование LSP ведёт к хрупкости кода, особенно в крупных системах.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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