模板方法模式

package com.life.design.template;

public abstract class Cooking {

    public final void cookProcess() {
        pourOil();
        heatOil();
        pourVegetable();
        pourSauce();
        fry();
    }

    public void pourOil() {
        System.out.println("倒油");
    }

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

    public abstract void pourVegetable();

    public abstract void pourSauce();

    public void fry() {
        System.out.println("翻炒");
    }


}
package com.life.design.template;

public class CookCabbage extends Cooking {

    @Override
    public void pourVegetable() {
        System.out.println("包菜下锅");
    }

    @Override
    public void pourSauce() {
        System.out.println("辣椒下锅");
    }
}
package com.life.design.template;

public class Client {
    public static void main(String[] args) {
        Cooking cookCabbage = new CookCabbage();
        cookCabbage.cookProcess();
    }
}

 

posted on 2022-04-21 07:29  金满仓  阅读(16)  评论(0编辑  收藏  举报

导航