- нам нужно договорится , определить контракт взаимодействия , функция PrintColor готова работать только с цветными типами обьектов , т.е все реализации цветных типов должны соблюдать контракт IColoredObject. В противном случае пришлось бы писать кучу PrintColor на каждый тип , PrintColor(Карандаш object) { WriteLine(object.Color); }, PrintColor(Шарик object) { WriteLine(object.Color); }, PrintColor(ХЗЧегоЕще object) { WriteLine(object.Color); }
Т.е. интерфейс позволяет применять одни методы к различным классам, унаследованным от общего интерфейса?