Хрупкий базовый класс - распространенная проблема с наследованием, которая применяется к Java и любому другому языку, поддерживающему наследование.
В двух словах, базовый класс - это класс, от которого вы наследуете, и его часто называют хрупким, поскольку изменения в этом классе могут иметь неожиданные результаты в классах, которые наследуют его.
Есть несколько способов смягчить это; но нет простого способа полностью избежать этого, все еще используя наследование. Вы можете предотвратить наследование других классов от класса, пометив объявление класса как final
в Java.
Лучшая практика, позволяющая избежать худших из этих проблем, - помечать все классы как окончательные, если вы специально не собираетесь наследовать от них. Для тех, кто намеревается унаследовать, разработайте их так, как если бы вы проектировали API: скрыли все детали реализации; будьте строгими в отношении того, что вы излучаете, и внимательно относитесь к тому, что вы принимаете, и подробно документируйте ожидаемое поведение класса.