为什么要有API和实现?

时间:2016-07-11 15:20:24

标签: oop interface implementation

很多时候,我见过单一类(Java)实现单个接口。该接口仅用于单个类。没有其他类实现它。我们为什么要做这个?在我看来,我们不需要界面,只需要上课。

示例:https://github.com/essentials/Essentials/blob/2.x/Essentials/src/com/earth2me/essentials/I18n.java

1 个答案:

答案 0 :(得分:0)

暂时忘记语言。

使用接口的原因有很多,只有一个类实现接口绝对没问题。

想象一下,你想编写可测试的代码,你想做所有好东西,有测试等。

编写代码的好方法是永远不要对类中的任何依赖项进行硬编码。如果您注入依赖项并且通过接口或抽象类完成,它会使生活变得更容易。所以你基本上从不说嘿类,这里是一个猫实现,你说嘿这里是一个通用的动物,使用它。

界面有一个工作来提供合同,这就是你正在使用的。因此,您将代码与依赖项分离,因此现在您可以对其进行测试,并且可以轻松地模拟所有依赖项。你有一个或多个实现的事实没有任何区别。