Всякий раз, когда я слышу об интерфейсах, у меня возникают следующие сомнения.
У меня есть следующий интерфейс
interface Imammals
{
walk();
eat();
run();
}
и у меня есть два класса Человек и Кошка , которые реализуют этот интерфейс.
В любом случае, функциональность методов будет отличаться в обоих классах.
Например: walk (), функциональность отличается, так как кошка использует четыре ноги, а человек использует две ноги
Тогда, зачем мне нужен общий интерфейс, который ТОЛЬКО объявляет эти методы? Мой дизайн здесь неисправен?
Если функциональность методов будет одинаковой в обоих классах, я мог бы пойти на наследование на основе классов, где родительский элемент реализует полную функциональность, а дочерний объект наследует и использует методы родительского класса.
Но здесь интерфейсы помогают нам просто объединить объявления методов или есть что-то еще внутри?
РЕДАКТИРОВАТЬ: ходьба (), еда (), бег () был изменен на ходьба (), есть (), бегать () и млекопитающие были изменения для имаммалов.