我不确定我“得到”接口

时间:2013-07-11 16:21:37

标签: c# java interface

好的,我理解界面的基本概念,但我不一定知道我“得到”它的使用。

我正在使用抽象工厂设计模式在家里编写应用程序。对于练习,主要是,但我的最终目标是出售应用程序(但这不适用于此网站)。

无论如何,我用作参考的书使用了示例中的界面。

维基百科解释说“接口用于编码各种类型共享的相似性,但不一定构成类关系。”

所以这基本上告诉我接口用于确保类之间的相似性。

因此,如果我有一个名为Guitar的接口,我可以有一个名为GuitarAbstract的抽象类,以及其他类BassGuitar,AcousticGuitar,ElectricGuitar,以及所有的继承和实现等。

从理智上讲,我理解接口的需求和用法。它看起来像是额外的冗余代码。

我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

一个接口允许您编写可以与任何类型的类一起使用的代码,只要它实现了所需的接口即可。这样可以轻松地重复使用代码,从而减少工作量。接口不是多余的。

Iterator就是一个很好的例子。你不关心迭代器代表什么数据结构,你只想检索数据。

这是界面的目的。

答案 1 :(得分:1)

接口不是附加代码,它就像合同。它定义了必须提供的功能,并将实现细节留给了类。这是IMO真正的OO prorgamming的核心。