【发布时间】:2019-07-25 11:13:47
【问题描述】:
我想知道是否有一种方法可以在多个类之间进行选择并返回其中一个。
它应该是这样的:
public class BotManager {
public static Test test;
public static int PROTOCOL_VERSION = 114;
public Bot bot(){
if(PROTOCOL_VERSION == 114){
return test.bot114;
}else{
return test.bot111;
}
}
在本例中,bot111 和 bot114 是不同的类。
bot.version111.bot.Bot;
bot.version114.bot.Bot;
【问题讨论】:
-
如果两个返回的类没有共同点,该方法的调用者应该如何以任何有意义的方式使用结果?
-
我认为你应该阅读一下factory pattern
-
我怀疑两者都不是一个类,而是不同类的实例......所以这些必须实现相同的接口或扩展相同的类。 (或者方法的返回类型必须是
Object,这大多不是很有用)