gpt4 book ai didi

java - 运行时派生类选择

转载 作者:行者123 更新时间:2023-12-01 18:34:04 25 4
gpt4 key购买 nike

我遇到的情况是我的代码结构如下。

class BaseClass .. 
class DerivedClass1 extends BaseClass ...
class DerivedClass2 extends BaseClass ...
class DerivedClass3 extends BaseClass ...

现在在运行时我想使用任何一个基于整数classId的派生类。

类似于,

BaseClass myObj = new ((classId == 1) ? DerivedClass1 : (classId == 2) ? DerivedClass2 : DerivedClass3

我想要某种随机行为。例如,有时我的应用程序可能会画一条线,而有时它可能会画一个圆。
如何用 Java 编写上述功能?

最佳答案

只需使用多态性和您想要的任何样式(switch/if-else)即可。例如:

基类 myObj;

switch(classId): {
case 1:
myObj = new DerivedClass1();
break;
case 2:
myObj = new DerivedClass2();
break;
case 3:
myObj = new DerivedClass3();
break
default:
throw RuntimeException ("Id not recognized);
}
Do something with object;

关于java - 运行时派生类选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22821031/

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