[java design pattern] template method pattern

Step 1: Define an abstract class

public abstract class AbstractCalculator {
    abstract public int calculator(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 final int calculator(String exp,String opt) {
    	int array[]=split(exp,opt);
		return calculator(array[0],array[1]);
    }
    
}

Step 2: Create an implementation class

public class Plus extends AbstractCalculator{

	@Override
	public int calculator(int num1, int num2) {
		return num1+num2;
	}

}

Step 3: Test

public class Test {
      public static void main(String[] args) {
		String exp="10+10";
		AbstractCalculator calculator=new Plus();
		int result=calculator.calculator(exp, "\\+");
		System.out.println("10+10="+result);
	}
}




Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325799561&siteId=291194637