0

我认为界面有 3 个主要好处是正确的吗?

  1. 必须创建的蓝图(我也听到其他人将其称为合同)。
  2. 多态性。
  3. 与继承(IMO 有很多相似之处)不同,您可以有许多接口

还有其他加分或减分吗?有人不同意我的3分吗?

4

3 回答 3

1

“蓝图”隐喻对类比对接口更有效,但“契约”隐喻非常准确。接口指定了其他类在公共方法方面的期望,而没有说明底层实现。在类之间的继承往往由is-a关系组成的情况下,接口可以被认为是works-as-a关系,尽管我认为后一个术语并不常用。

于 2012-10-04T12:32:53.580 回答
1

我要补充一点,接口的使用在某种程度上有助于创建自记录代码。例如,您的类实现的接口描述了该类支持的功能。因此,您最终会得到如下代码:

if (someClass is ISearchable)
{
   someClass.Search();
}
于 2012-10-04T12:36:29.380 回答
1

具有相同接口的两个对象不需要以其他方式相关。

所以你可以有 - 花 - 卡车 - 恐龙

都具有相同的界面 - IColor

即使它们是完全不同的对象。

于 2012-10-04T12:36:56.580 回答