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

Приведи пример нарушения 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 без изменения поведения, что нарушает принцип подстановки Лисков.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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