模板方法设计模式

java 复制代码
package com.jmj.pattern.template;

public abstract class AbstractClass {

    //模板方法定义
    public final void cookProcess(){
        pourOil();
        heatoil();
        pourVegetable();
        pourSauce();
        fry();
    }


    public void pourOil(){
        System.out.println("倒油");
    }
    public void heatoil(){
        System.out.println("热油");
    }
    public void fry(){
        System.out.println("炒炒到熟啊");
    }
    public abstract void pourVegetable();

    public abstract void pourSauce();


}
java 复制代码
package com.jmj.pattern.template;

public class ConcreteClass_BaoCai extends AbstractClass {

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

    @Override
    public void pourSauce() {
        System.out.println("下锅的酱料是辣椒");
    }
}
java 复制代码
package com.jmj.pattern.template;

public class ConcreteClass_Caixin extends AbstractClass {

    @Override
    public void pourVegetable() {
        System.out.println("下锅的蔬菜是菜心");
    }

    @Override
    public void pourSauce() {
        System.out.println("下锅的酱料是蒜蓉");
    }
}
java 复制代码
package com.jmj.pattern.template;

public class Client {
    public static void main(String[] args) {
        ConcreteClass_BaoCai concreteClass_baoCai = new ConcreteClass_BaoCai();
        concreteClass_baoCai.cookProcess();

        ConcreteClass_Caixin concreteClass_caixin = new ConcreteClass_Caixin();
        concreteClass_caixin.cookProcess();
    }
}
相关推荐
看山是山_Lau7 分钟前
抽象工厂模式:一整套对象族如何统一创建?
设计模式·抽象工厂模式
木易 士心9 分钟前
深入理解 OKHttp:设计模式、核心机制与架构优势
android·设计模式·架构
likerhood1 小时前
设计模式 · 外观模式(Facade Pattern)
设计模式·外观模式
++==2 小时前
设计模式:单例模式和观察者模式实现方式以及优化
观察者模式·单例模式·设计模式
doubledong19942 小时前
分形世界与设计模式
设计模式
多加点辣也没关系2 小时前
设计模式-访问者模式
设计模式·访问者模式
咖啡八杯2 小时前
GoF设计模式——原型模式
java·后端·设计模式·原型模式
多加点辣也没关系3 小时前
设计模式-状态模式
设计模式·状态模式
多加点辣也没关系3 小时前
设计模式-备忘录模式
设计模式·备忘录模式