继承是一种'是-a'关系;总结“界面”关系的好方法是什么? - 总结其他关系?

时间:2011-08-02 20:40:35

标签: interface repository relationship

标题:继承是'is-a'关系;总结“界面”关系的好方法是什么?

另外,我认为拥有一个简单关系的存储库可以帮助人们正确看待事物。我对编程很新,所以我不确定是否真的有足够的'关系'来保证这个愿望 - 但如果有的话,这可能是一个很好的起点。

  • inheritance =“is-a”
  • composition =“has-a”
  • 接口实现=?...

5 个答案:

答案 0 :(得分:4)

接口实现=“可以做”

接口通常代表一种可以在类中实现的功能,例如在.NET中IEnumerable接口用于可以枚举的类,IComparable用于可以比较的类

答案 1 :(得分:1)

为什么不只是“实施”?我想我不确定你在开什么车。

答案 2 :(得分:1)

你的谓词是-a并且描述了不同类型之间的结构关系。从这个意义上说,接口也应该得到is-a。

然而,有更多可能的分类法以及更多关键概念:

  • 接口是每个实现者履行的承诺(承诺)。
  • 对象之间的连接不仅可以使用合成来建立,还可以通过将对象传递给方法(使用-a)或涉及消息类型(通知)来建立。
  • 继承的目的不仅是通过不同地实现基类方法而且还添加新功能(属性,方法)的多态(as-a) - (extends-a)。
  • OOP应用程序中对象的角色可以使用manages-a,creates-a,visits-a,substitutes-a等进行分类。
  • ...

答案 3 :(得分:0)

也许是“as-a”或“like-a”:暗示它具有一些属性/能力,但并非直接来自。

答案 4 :(得分:0)

界面是一种“适合”的关系。

想想你墙上的电源插座。那是你的电网接口。您可能有许多共享这种接口的对象(即它们都“适合”套接字)。

其他国家/地区有不同的界面,以及不同的对象集合,这些对象将“适应”这些特定的方案。