好的,我理解界面的基本概念,但我不一定知道我“得到”它的使用。
我正在使用抽象工厂设计模式在家里编写应用程序。对于练习,主要是,但我的最终目标是出售应用程序(但这不适用于此网站)。
无论如何,我用作参考的书使用了示例中的界面。
维基百科解释说“接口用于编码各种类型共享的相似性,但不一定构成类关系。”
所以这基本上告诉我接口用于确保类之间的相似性。
因此,如果我有一个名为Guitar的接口,我可以有一个名为GuitarAbstract的抽象类,以及其他类BassGuitar,AcousticGuitar,ElectricGuitar,以及所有的继承和实现等。
从理智上讲,我理解接口的需求和用法。它看起来像是额外的冗余代码。
我错过了什么吗?
答案 0 :(得分:3)
一个接口允许您编写可以与任何类型的类一起使用的代码,只要它实现了所需的接口即可。这样可以轻松地重复使用代码,从而减少工作量。接口不是多余的。
Iterator就是一个很好的例子。你不关心迭代器代表什么数据结构,你只想检索数据。
这是界面的目的。
答案 1 :(得分:1)
接口不是附加代码,它就像合同。它定义了必须提供的功能,并将实现细节留给了类。这是IMO真正的OO prorgamming的核心。