1. 程式人生 > >23種設計模式之模板方法模式

23種設計模式之模板方法模式

技術分享 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 extends
AbstractClass{ @Override public void primitiveOperation1() { System.out.println("具體類B方法1實現"); } @Override public void primitiveOperation2() { System.out.println("具體類B方法2實現"); } }
package designMode.templateMethod;

class Test {
    public static
void main(String[] args) { AbstractClass ac; ac = new ConcreteClassA(); ac.templateMethod(); ac = new ConcreteClassB(); ac.templateMethod(); } }

23種設計模式之模板方法模式