0

我在 github 上经常看到这一点,我看不到这些关系中的优势,甚至没有看到接口的使用。

情况:一个库有一个基类Article,它被声明为抽象的并且应该被扩展。为什么它实现ArticleInterface基本上是:

interface ArticleInterface
{
     // some getter

     // some setter

     // getter...

     // setter....

     // etc...
}

我在这个设置中没有看到接口的使用?抽象类本身还不够,因为它已经定义了那些 getter/setter属性(它实现了接口)。Interface 在这里所做的唯一事情是强制属性声明,这不应该是它的重点,对吧?

4

1 回答 1

3

接口使类更加灵活。最后,它确实是您要定义的接口。抽象类允许您定义类接口的一些重要部分以及(部分)实现。接口更加抽象,只定义必要功能的接口,将实现完全留给实现者。

你应该这样想:接口是定义,抽象类只是它的一个示例实现。如果此框架实现适合您的目的,请扩展并使用它。否则,如果您不能或不想继承特定类,则可以以任何方式实现接口。您不必强制扩展特定的类,您可以使用自己的类层次结构。

有关为什么应该在接口中思考以及为什么解耦相当重要的更多信息,您可能需要阅读这篇文章

于 2013-01-27T12:10:36.547 回答