模板方法模式

public abstract class  AbstractCalculator{

public final int calculate(String exp,String opt){

int array[] = split(exp,opt);

return calculate(array[0],array[1]);

}


abstract public int calculate(int  num1,int num2);


public int[] split(String exp,String opt){

String array[] = exp.split(opt);

int arrayInt[] = new int(2);

arrayInt[0] = Integer.parseInt(array[0]);

arrayInt[1] = Integer.parseInt(array[1]);

return  arrayInt;

}

}


public class Plus extends AbstractCalculator{

@Override

public int calculate(int num1,int num2){

return num1+num2;

}

}


public class Test{

public static void main(String[] args){

String exp = "8+8";

AbastractCalculator ac = new Plus();

int result = ac.calculate(exp,"\\+");

System.out.println(result);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章