模板方法设计模式

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();
    }
}
相关推荐
稚辉君.MCA_P8_Java33 分钟前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
快乐的划水a11 小时前
组合模式及优化
c++·设计模式·组合模式
Zyy~12 小时前
《设计模式》装饰模式
java·设计模式
落霞的思绪15 小时前
Java设计模式详细解读
java·开发语言·设计模式
是2的10次方啊16 小时前
🚀 JDK设计模式大揭秘:23种模式藏在你每天在用的类里
设计模式
步行cgn16 小时前
设计模式(Design Patterns)
设计模式
Zyy~1 天前
《设计模式》代理模式
设计模式·代理模式
o0向阳而生0o1 天前
93、23种设计模式之抽象工厂模式
设计模式·抽象工厂模式
Tadas-Gao1 天前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
饕餮争锋1 天前
设计模式笔记_行为型_观察者模式
笔记·观察者模式·设计模式