Встречается на собеседованиях • сегодня
Приведи пример нарушения Liskov Substitution Principle из SOLID в стандартных библиотеках
Классический пример нарушения LSP - `java.util.Stack`, который наследуется от `java.util.Vector`. Stack должен быть LIFO-структурой, но из-за наследования от Vector появляются методы, нарушающие его контракт:
```java
Stack stack = new Stack<>();
stack.push("first");
stack.push("second");
// Нарушение LSP - Stack ведет себя не как Stack
stack.insertElementAt("third", 1); // из Vector
stack.remove(0); // из Vector
```
Правильная реализация должна была использовать композицию вместо наследования, скрывая нерелевантные методы Vector. Stack не может быть заменен Vector без изменения поведения, что нарушает принцип подстановки Лисков.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы