我认为界面有三个主要好处我是否正确。
是否还有其他加分或减号,是否有人不同意我的3分?
答案 0 :(得分:1)
“蓝图”比喻对于类而不是接口更有效,但“契约”比喻非常准确。接口指定了其他类在公共方法方面可以期望的内容,而没有说明底层实现的任何内容。在类之间的继承往往由 is-a 关系组成的情况下,接口可以被认为是作为一个关系,但我不认为后一个术语是常用。
答案 1 :(得分:1)
我想补充一点,接口的使用在一定程度上创建了自我记录代码。例如,您的类实现的接口描述了该类支持的功能。因此,您最终得到的代码如下:
if (someClass is ISearchable)
{
someClass.Search();
}
答案 2 :(得分:1)
具有相同接口的两个对象不需要以其他方式相关。
所以你可以拥有 - 花 - 卡车 - 恐龙
都具有相同的界面 - IColor
即使它们是完全不同的对象。