模板方法设计模式

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();
    }
}
相关推荐
蔡蓝2 小时前
设计模式-建造者模式
服务器·设计模式·建造者模式
不伤欣7 小时前
游戏设计模式 - 子类沙箱
游戏·unity·设计模式
漫谈网络7 小时前
MVC与MVP设计模式对比详解
设计模式·mvc
蔡蓝7 小时前
设计模式-观察着模式
java·开发语言·设计模式
哆啦A梦的口袋呀9 小时前
基于Python学习《Head First设计模式》第六章 命令模式
python·学习·设计模式
半路下车10 小时前
【Harmony OS 5】HarmonyOS应用测试指南
设计模式·harmonyos
周某某~10 小时前
一.设计模式的基本概念
设计模式
on the way 12311 小时前
行为型设计模式之Interpreter(解释器)
设计模式
cui_hao_nan11 小时前
设计模式——模板方法
java·设计模式
在未来等你11 小时前
Java并发编程实战 Day 11:并发设计模式
java·设计模式·多线程·并发编程·threadlocal·生产者消费者·读写锁