Всякий раз, когда я слышу об интерфейсах, у меня возникают следующие сомнения.Сомнение в использовании интерфейса?
я есть следующий интерфейс
interface Imammals
{
walk();
eat();
run();
}
и у меня есть два класса человека и Cat, который реализует этот интерфейс.
В любом случае, функциональность методов будет отличаться в обоих классах.
Для Eg: прогулки(), функциональность отличается, как кошка использует четыре ноги и человек использует две ноги
Тогда, почему мне нужно иметь общий интерфейс, который только декларирует эти методы? Является ли мой дизайн здесь неисправным?
Если функциональность методов будет одинаковой в обоих классах, я могу пойти на наследование класса, где родитель реализует полную функциональность, а ребенок наследует и использует методы родительского класса.
Но здесь интерфейсы помогают нам просто консолидировать декларации методов или есть что-то еще внутри?
EDIT: walking(), running(), running() изменен для ходьбы(), eat(), run() и млекопитающих, был изменен на Imammals.
Спасибо за указание Конвенции об именах :) –
(для тех, кто видит это и задается вопросом, Шри Кумар отредактировал сообщение соответственно) – Fredrik