Здравствуйте, Ikemefula, Вы писали:
I>У тебя здесь противоречие
I>1. ты заявляешь, что должен быть интерфейc-абстрактыйкласс-реализация. Ни для чего больше не нужно заводить этот интерфейс, кроме как абстрагирование. И с абстрактным классом ровно то же.
I>2. Ты утверждаешь, что поведение наследника должно чем отличаться родительского
I>3. при этом, если поведение наследника отличается от поведения родителя у тебя это антипаттерн
I>Зачем тогда огород городить?
I>Итого — п1 это уже заявка на полиморфизм, т.к. через один интерфейс сможем работать сразу со всеми наследниками. А в п3 выясняем, что это антипаттерн
Значит я не совсем понятно донёс свою мысль. Не должно быть такого, чтобы можно было создать объект родительского класса и объект производного класса. Т. к. если у них одинаковое поведение — то непонятно, зачем нужны разные классы с одинаковым поведением. А если поведение разное, то получается, что объект производного класса не может быть использован вместо объекта родительского класса, что я считаю антипаттерном.
Интерфейс отличается от неабстрактного класса: от интерфейса
ожидается полиморфное поведение, а от неабстрактного класса нет.