在这种情况下,你为什么要打扰静态的东西呢?
只需从多态中受益,并合并doSomething()和getResult()。
你会最终得到:
public abstract class BaseClass {
public BaseClass(String input)
{
...
}
public abstract String doSomething();
}你的客户看起来像:
BaseClass bc = new ExtendsBaseClass(input);
String result = bc.doSomething();通常,定义分离的getResult()方法在特定情况下是有意义的,例如在实现Builder Pattern时。实际上,几种不同的方法参与对象构造,最终调用了一种getResult()方法。
---------------------您的评论正好在下面------------------------
如果如你所说的那样,常见的情况是使用doSomething()跟随getResult(),并且根据特定的子类,您可以使用模板方法模式:
public abstract class BaseClass {
public BaseClass(String input)
{
// assigments
}
public String process(){ //process is a template method
doSomething();
retur