模板方法设计模式

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();
    }
}
相关推荐
世洋Blog12 小时前
装饰器模式实践:告别臃肿的继承链,优雅解耦初始化状态管理
unity·设计模式·c#·装饰器模式
syt_101314 小时前
设计模式之-工厂模式
javascript·单例模式·设计模式
syt_101316 小时前
设计模式之-装饰器模式
设计模式·装饰器模式
看见繁华18 小时前
C++ 设计模式&设计原则
java·c++·设计模式
雨中飘荡的记忆21 小时前
观察者模式:从理论到生产实践
java·设计模式
阿波罗尼亚1 天前
Head First设计模式(十二) 设计原则 复合模式
设计模式
老朱佩琪!1 天前
Unity原型模式
开发语言·经验分享·unity·设计模式·原型模式
拾忆,想起1 天前
设计模式三大分类完全解析:构建高质量软件的基石
xml·微服务·设计模式·性能优化·服务发现
老朱佩琪!1 天前
Unity装饰器设计模式
unity·设计模式
syt_10131 天前
设计模式之-策略模式
设计模式·bash·策略模式