john2007 |
---|
Намек на интерфейс. Но он основывается на том, что это это свойство абстрактного класса использовать не удастся.
Но ответ может быть - значения не имеет - можно выбрать или интерфейс или абстрактный класс.
А если все же интерфейс, то почему, есть в данном случае преимущества перед абстрактным классом? |
Надо стремится к реализации с использованием интерфейса, а не абстрактного класса, просто возьмите это за аксиому.
Абстрактный класс подойдёт, если необходимо:
1. предоставить часть базовой реализации
2. ограничить методы областью применения (модификаторы доступа)
3. планируется (есть риск) добавлять новые общие методы
В вообще можно совмещать:
IPet и
PetBase, и сильно не париться по этому поводу