@OOPNoob

Правильно ли я использую абстрактный класс Animal?

abstract Animal {
abstract say()
abstract eat()
}

Dog implements Animal {...}
Cat implements Animal {...}
Cow implements Animal {... and getMilk}
Все три класса похожи но у последнего добавляется метод получить молоко, Есть ли ошибка в проектировании, моэжно ли сказать что коровка также реализует класс Живтоное?
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
@red-barbarian
Сам вопрос провоцирует: Да! Не правильно! )
Но если серьезно.
Не стройте систему от абстрактного к конкретному. Так хорошо в учебнике. в реальности это порождает много ненужных слоем и классов. Делайте это от конкретного к абстрактному. Т.е. есть два класса которые вы применяете. у них есть общее. Вынесите общее в абстрактный класс. Т.е. исходим с низу к абстрактному.

Второй момент. Связана с полиморфизмом. Это придумать интерфейс а затем его реализацию. Но это другая песня.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы