Sobes.tech
Back to questions
Junior — Middle
111

Можешь привести пример нарушения принципа Лискова при использовании стандартных библиотек?

Companies where asked
AstonAston

Answer from AI

sobes.tech AI

Пример нарушения принципа Лискова (Liskov Substitution Principle) в стандартных библиотеках Java можно увидеть на примере классов java.util.Queue и java.util.PriorityQueue.

PriorityQueue переопределяет поведение очереди, где элементы извлекаются не в порядке добавления, а по приоритету. Если код ожидает поведение обычной очереди FIFO, заменив её на PriorityQueue, логика нарушится.

Это значит, что подкласс PriorityQueue не полностью совместим с ожиданиями, заложенными в интерфейсе Queue, что и является нарушением принципа Лискова — подкласс должен быть взаимозаменяем с базовым классом без изменения ожидаемого поведения.