【问题标题】:Interfaces - still trying to understand them [closed]接口 - 仍在尝试理解它们[关闭]
【发布时间】:2012-09-25 11:43:39
【问题描述】:

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

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

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

【问题讨论】:

标签: oop language-agnostic interface


【解决方案1】:

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

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

都具有相同的界面 - IColor

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

【讨论】:

    【解决方案2】:

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

    if (someClass is ISearchable)
    {
       someClass.Search();
    }
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2017-05-24
        • 1970-01-01
        • 1970-01-01
        • 2017-01-04
        • 1970-01-01
        • 2015-07-18
        • 2023-01-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多