Junior — Middle
Poți oferi un exemplu de încălcare a principiului Liskov atunci când folosești biblioteci standard?
sobes.tech AI
Răspuns de la AI
Пример нарушения принципа Лискова (Liskov Substitution Principle) в стандартных библиотеках Java можно увидеть на примере классов java.util.Queue и java.util.PriorityQueue.
PriorityQueue переопределяет поведение очереди, где элементы извлекаются не в порядке добавления, а по приоритету. Если код ожидает поведение обычной очереди FIFO, заменив её на PriorityQueue, логика нарушится.
Это значит, что подкласс PriorityQueue не полностью совместим с ожиданиями, заложенными в интерфейсе Queue, что и является нарушением принципа Лискова — подкласс должен быть взаимозаменяем с базовым классом без изменения ожидаемого поведения.