В ООП которое "инкапсуляция, наследование, полиморфизм" самое забавное - что наследование нарушает (противоречит) инкапсуляцию. Чем глубже наследование - тем выше шанс нарушения инкапсуляции логики в потомках при модификации предков. При этом запрет на модификацию предков означает стагнацию кода. То есть, о том, что модель гнилая, говорится прям в слогане, но замечают это немногие.