1. 程式人生 > 其它 >設計模式 模板方法

設計模式 模板方法

設計模式 模板方法

概念

結構

案例實現


定義炒菜過程 抽象類 我們吧所有可能變化的方法定義為抽象方法

public abstract class AbstractClass {
    public final void cookProcess(){
        this.pureOil();
        this.heatOil();
        this.pourVegetable();
        this.fry();
    }

    //倒油是固定
    public void pureOil(){
        System.out.println("倒油");
    }

    public void heatOil(){
        System.out.println("熱油");
    }

    //倒蔬菜 並不是一個固定的過程
    public abstract void pourVegetable();

    public void fry(){
        System.out.println("進行一個菜的炒");
    }
}

假設我們要炒包菜

public class ConcreteClass_BaoCai extends AbstractClass{
    @Override
    public void pourVegetable() {
        System.out.println("放的是包菜");
    }

    public static void main(String[] args) {
        ConcreteClass_BaoCai baoCai = new ConcreteClass_BaoCai();
        baoCai.cookProcess();
    }
}

總結