Встречается на собеседованиях • сегодня
Что такое принцип подстановки Барбары Лисков
Принцип подстановки Лисков (LSP) гласит, что объекты родительского класса должны быть заменяемы объектами дочерних классов без нарушения работы программы. Это один из принципов SOLID.
Пример нарушения LSP:
typescript
class Rectangle {
width: number;
height: number;
setWidth(w: number) { this.width = w; }
setHeight(h: number) { this.height = h; }
}
class Square extends Rectangle {
setWidth(w: number) {
this.width = w;
this.height = w; // Нарушение LSP - изменяет поведение родителя
}
}
function testRectangle(rect: Rectangle) {
rect.setWidth(5);
rect.setHeight(4);
console.log(rect.width * rect.height); // Ожидается 20, но для Square будет 16
}
text
Ключевые моменты:
- Дочерний класс не должен ужесточать предусловия
- Не должен ослаблять постусловия
- Должен сохранять все инварианты родителя
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы