Является ли неудача в реализации интерфейса у ребенка, который реализуется родителем, считается плохой практикой или что-то в этом роде?Есть ли какие-либо технические недостатки в том, что мы не можем реализовать реализацию в дочернем элементе?
Я просто не могу ответить на ваш вопрос лучше, чем этот парень:
По своей природе, хотяиногда они могут выглядеть очень похожими, абстрактные классы и интерфейсы классов служат совершенно разным целям.
Интерфейс класса предназначен как инструмент для «пользователя» этого класса.Интерфейс - это общедоступная презентация для класса, и он должен сообщать всем, кто планирует его использовать, какие методы и константы доступны и доступны извне.Таким образом, как следует из названия, он всегда находится между пользователем и реализующим его классом.
С другой стороны, абстрактный класс - это инструмент, предназначенный для помощи "разработчику" классов, расширяющих его.Это инфраструктура, которая может налагать ограничения и указания относительно того, как должны выглядеть конкретные классы.С точки зрения проектирования классов абстрактные классы важнее с точки зрения архитектуры, чем интерфейсы.В этом случае разработчик находится между абстрактным классом и конкретным классом, создавая последний поверх первого.
Ссылка
Таким образом, эторешать вам, основываясь на том, кто собирается использовать (создавать экземпляры) ваши классы и кто собирается их писать.Если вы являетесь единственным пользователем и автором своих классов, то, может быть, просто может быть, вам не нужны оба.Но, если вы хотите, чтобы все урезали до макета основные биты для автора (ов) класса и пользователя (ов) класса, то вам следует рассмотреть возможность использования как абстрагирования, так и реализации.