#模板设计模式,主类定义一个主方法实现对其他方法的调用,具体的方法实现由子类去实现。
interface IStrategy{
public int split(String string);
}
abstract class AbstractStrategy implements IStrategy{
//主方法实现对其他方法的调用
public int caculate(String reg,String inputString){
int[] data=split(reg,inputString);
return caculate(data[0],data[1]);
}
//由子类去实现
public abstract int caculate(int num1,int num2);
public int[] split(String reg,String splot){
String[] strings=reg.split(splot);
int[] result=new int[2];
result[0]=Integer.parseInt(strings[0]);
result[1]=Integer.parseInt(strings[1]);
return result;
}
}
class Plus extends AbstractStrategy implements IStrategy{
@Override
public int split(String string){
int[] result=split(string,"\\+");
return result[0]+result[1];
}
@Override
public int caculate(int num1,int num2){
return num1+num2;
}
}
本文介绍了一种使用模板设计模式的方法,通过定义一个主类来实现对其他方法的调用,并让具体的实现细节由子类来完成。以抽象类AbstractStrategy为例,展示了如何通过接口IStrategy来规范行为,并通过子类Plus实现加法运算的具体操作。

被折叠的 条评论
为什么被折叠?



