java實現23種設計模式之模版方法模式

先看代碼:ide

package com.ceshi13; 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; } }
package com.ceshi13; public class Plus extends AbstractCalculator { @Override public int calculate(int num1, int num2) { return num1 + num2; } }
package com.ceshi13; public class StrategyTest { public static void main(String[] args) { String exp = "8+8"; AbstractCalculator cal = new Plus(); int result = cal.calculate(exp, "\\+"); System.out.println(result); } }

運算結果:spa

上面抽象類的代碼中有calculate方法,是能夠經過不一樣的子類繼承而且重寫的,這就至關於模版code

定義了模版,至於具體是怎麼子的經過子類實現blog

相關文章
相關標籤/搜索