ОК, так что я понимаю, что Интерфейсы - это способ обеспечить реализацию объекта определенной функциональности без использования наследования.Вроде как контракт.И я почти вижу их смысл.
Но если все, что у вас есть в интерфейсе, это:
public interface animal{
void eat(object food);
}
, и у него нет реализации как таковой, то тот, кто использует ваш интерфейс, должен написатьэто каждый раз с нуля.
Если вы создаете несколько классов, все из которых реализуют такие функции, а реализация лишь немного отличается, это будет очень тяжелая работа.
Любая помощь, чтобы разобраться в этом, ценится, потому что я знаю, что это действительно важно.