【发布时间】:2013-07-29 18:52:07
【问题描述】:
自己是否应该始终定义接口和抽象类,即使只有 1 个类扩展它们?我从事一些小型 Java 项目已经有一段时间了。我一直看到他们总是在他们编写的每个其他类中创建抽象类和接口。但在几乎所有其他情况下,接口仅由一个类实现,抽象类也仅由另一个类扩展。这是因为多个类没有扩展或实现的范围。 因此,根据我的理解,如果我们知道会有很多其他类会使用它,我们就可以拥有接口和抽象类。在上述情况下,我觉得应该直接编写具体的类。并且将来如果需要自己可以修改这些类并创建接口等并加以利用。不知何故,我 99% 确信我对多态性使用的理解达不到标准。请让我知道这些概念的正确用法。
【问题讨论】:
-
虽然这是一个很好的问题,但答案取决于具体的上下文,并且可能会引起意见和讨论,这与主题无关。 Software Engineering 可能会更好。
-
如果有助于保持代码清洁:是的。还有en.wikipedia.org/wiki/Dependency_inversion_principle
-
你描述的项目听起来像是过度工程的教科书示例。
标签: java inheritance interface abstract conceptual