У меня есть некоторые пользовательские элементы управления, для которых я хочу указать свойства и методы.
Они наследуются от базового класса, потому что все они имеют такие свойства, как «Foo» и «Bar», и причина, по которой я использовал базовый класс, заключается в том, что мне не нужно вручную реализовывать все эти свойства в каждом производном классе.
Однако я хочу иметь метод, который находится только в производных классах, а не в базовом классе, поскольку базовый класс не знает, как «сделать» метод, поэтому я думаю об использовании для этого интерфейса. Если я помещу его в базовый класс, мне придется определить какое-то тело, чтобы возвращать значение (которое было бы недействительным), и всегда следить за тем, чтобы переопределяющий метод не вызывал базу. метод
Правильный ли способ сделать это, чтобы использовать как базовый класс, так и интерфейс для предоставления метода? Это кажется очень окольным, но все, что я думаю о том, чтобы сделать это, кажется неправильным...
Дайте мне знать, если вопрос не ясен, это, вероятно, глупый вопрос, но я хочу сделать это правильно.
РЕДАКТИРОВАТЬ: спасибо всем людям с вашими отличными абстрактными предложениями, но это ломает дизайнера. Если бы абстракция не была выбираемой опцией, что бы вы сделали?