Возможно, да! но не дай бог, почему? Мои ранние попытки в моей карьере сделали это, и я научился. Программирование на интерфейсах всегда имеет преимущество. Я всегда получаю вопросы от младших разработчиков об обработке случаев, когда только подтипы имеют требуемые методы / функциональность.
Скажите класс Animal с подтипом Dog, имеющий метод bark (). Они хотят функциональность bark (). Фактическая проблема заключается в том, что они хотят, чтобы поведение животных не было корой (), а животным (). Таким образом, новый подкласс Cat не требует meow (). Что насчет этого: - У моей собаки стая, а у кошек нет. Поведение пакета ответов () не принадлежит ни одной собаке. Пакет - это другой аспект, передайте пакет всем объектам и попросите объекты присоединиться к пакету. (Шаблон посетителя / Шаблон адаптера). Мой класс Wolf может использовать то же поведение.
Я жесток по этому поводу, нет, если это только 1 случай, я в порядке. Если ответ - я не уверен, тогда лучше не рисковать, работая над интерфейсными контрактами.