Sobes.tech
Junior — Middle
152

Czy możesz podać przykład naruszenia zasady Liskov przy korzystaniu z bibliotek standardowych?

Firmy, w których zadano pytania
AstonAston

Odpowiedź od AI

sobes.tech AI

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

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

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