Интерфейс или абстрактный класс будут выполнять то, что вы хотите. В абстрактном классе, если method
помечен как abstract
, то он должен быть реализован в производном классе. Вопрос действительно сводится к тому, какой из них вы должны использовать. Интерфейс или абстрактный класс.
Быстрый ответ (и я имею в виду быстрый и грязный) заключается в том, что вам следует использовать интерфейс, когда вы пытаетесь установить договорное поведение между классами. Вы должны использовать абстрактный класс, когда набор производных классов имеет некоторое общее поведение.