Що таке принцип підстановки Лісков (LSP)?
javascript
// Погано: Square порушує поведінку Rectangle
class Rectangle {
setWidth(w) { this.width = w; }
setHeight(h) { this.height = h; }
area() { return this.width * this.height; }
}
class Square extends Rectangle {
setWidth(w) {
this.width = w;
this.height = w; // Змінює обидва!
}
}
// Порушує LSP:
function test(rectangle) {
rectangle.setWidth(5);
rectangle.setHeight(4);
console.log(rectangle.area()); // Очікується: 20
}
test(new Rectangle()); // 20 ✅
test(new Square()); // 16 ❌ Порушено!Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.