【发布时间】:2023-03-22 17:17:01
【问题描述】:
假设我有两种类型的对象,我不会提前知道将使用哪个对象。我也想应用用于在特定方法中执行相同操作的任何对象。如何在不重复代码的情况下做到这一点?
例如:
if (input=1){
version1 version = new version1()
}
else{
version2 version = new version2()
}
**do something with version**
显然这种方式不会编译,但是我需要做什么来完成我想要实现的目标?
也许我必须尝试一下?抱歉,我还是 java 新手。
【问题讨论】:
-
version1和version2是什么关系?他们实现相同的接口吗?他们有共同的祖先阶级吗?您要避免哪些代码重复? -
您可能还想要
if (input == 1) {而不是您当前拥有的:if (input = 1) { -
在我现实生活中的问题中,不同之处在于它们是从同一个表派生的不同 DOA java 类/对象,并且对于我们的目的可以被认为是相同的。我试图避免有两个单独的方法来调用做同样的事情
标签: java inheritance