gpt4 book ai didi

Java对象——避免重复代码

转载 作者:行者123 更新时间:2023-12-01 06:27:59 25 4
gpt4 key购买 nike

假设我有两种类型的对象,并且我不会提前知道将使用哪个对象。我也想应用任何对象在特定方法中执行相同的操作。我怎样才能在不重复代码的情况下做到这一点?

例如:

if (input=1){
version1 version = new version1()
}
else{
version2 version = new version2()
}

**do something with version**

显然这种方式无法编译,但是我需要做什么才能完成我想要实现的目标?

也许我必须尝试一下?抱歉,我对 java 还是个新手。

最佳答案

您可以有一个名为Version的父类(super class)。
Version1Version2 扩展这个父类(super class)。

然后您可以执行以下操作:

Version version = null; // superclass reference
if (input == 1){
version = new Version1(); // instance of subclass Version1
}
else{
version = new Version2(); // instance of subclass Version2
}
// Now you can use the object version.

这在 Java 中称为运行时多态性 - 使用父类(super class)引用来指向子类。 (因此,您不需要提前知道将使用哪个对象,正如您在问题中提到的:))。

或者,您也可以使用名为 Version 的接口(interface),而不是父类(super class) Version。在本例中,Version1Version2 实现 Version 而不是扩展它。 p>

注意:
我建议您阅读有关 Java 中的继承和多态性的内容。
还要尝试清楚地理解什么是接口(interface)父类(super class)等。
Here is a SO link它回答了“何时使用父类(super class)与接口(interface)”的问题。

关于Java对象——避免重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25209100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com