我想定义一个基类,它定义一个实例化该类的主方法,并运行一个方法。但也存在一些问题。这是基类:
public abstract class Strategy
{
abstract void execute(SoccerRobot robot);
public static void main(String args)
{
Strategy s = new /*Not sure what to put here*/();
s.execute(new SoccerRobot())
}
}
这是一个派生类的示例:
public class UselessStrategy
{
void execute(SoccerRobot robot)
{
System.out.println("I'm useless")
}
}
它定义了一个简单的执行方法,在用作主应用程序时应在主方法中调用该方法。但是,为了做到这一点,我需要从基类的 main 方法中实例化派生类。这似乎不可能。
我不想为每个派生类重复 main 方法,因为这感觉有些不必要。
有正确的方法吗?
将 main 方法移出到一个单独的类中。单独关注
策略(名字说明了一切)
启动器(将组件组装在一起并触发执行)
public class Launcher
{
public static void main(String args)
{
Strategy s = new UselessStrategy();
//OR Strategy s = CreateInstance(args[0]) ;
//OR equiv mechanism for Dependency Injection if you don't want to hardcode the derived strategy to use.
s.execute(new SoccerRobot())
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)