#模板设计模式,主类定义一个主方法实现对其他方法的调用,具体的方法实现由子类去实现。
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;
}
}