23種設計模式之模板方法模式
阿新 • • 發佈:2017-08-21
技術分享 cnblogs ati strac void package com rim div
模板方法模式(TemplateMethod):定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
package designMode.templateMethod; abstract class AbstractClass { public abstract void primitiveOperation1(); public abstract void primitiveOperation2(); public void templateMethod(){ primitiveOperation1(); primitiveOperation2(); } }
package designMode.templateMethod; class ConcreteClassA extends AbstractClass{ @Override public void primitiveOperation1() { System.out.println("具體類A方法1實現"); } @Override public void primitiveOperation2() { System.out.println("具體類A方法2實現"); } } class ConcreteClassB extendsAbstractClass{ @Override public void primitiveOperation1() { System.out.println("具體類B方法1實現"); } @Override public void primitiveOperation2() { System.out.println("具體類B方法2實現"); } }
package designMode.templateMethod; class Test { public staticvoid main(String[] args) { AbstractClass ac; ac = new ConcreteClassA(); ac.templateMethod(); ac = new ConcreteClassB(); ac.templateMethod(); } }
23種設計模式之模板方法模式