Предположим, у меня есть иерархия классов, подобная той, что показана на рисунке. Предположим, мне нужно включить метод doThis()
, который будет иметь различную реализацию в классах C
и D
. Но класс B
не должен реализовывать этот метод.
Должен ли я объявить контракт в классе A
и предоставить пустую реализацию в классе B
или иметь другой абстрактный класс X
, который расширяет A
и расширяется на C
и D
?
Спасибо