设计模式 模板方法

概念

结构

案例实现


定义炒菜过程 抽象类 我们吧所有可能变化的方法定义为抽象方法

public abstract class AbstractClass {
    public final void cookProcess(){
        this.pureOil();
        this.heatOil();
        this.pourVegetable();
        this.fry();
    }

    //倒油是固定
    public void pureOil(){
        System.out.println("倒油");
    }

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

    //倒蔬菜 并不是一个固定的过程
    public abstract void pourVegetable();

    public void fry(){
        System.out.println("进行一个菜的炒");
    }
}

假设我们要炒包菜

public class ConcreteClass_BaoCai extends AbstractClass{
    @Override
    public void pourVegetable() {
        System.out.println("放的是包菜");
    }

    public static void main(String[] args) {
        ConcreteClass_BaoCai baoCai = new ConcreteClass_BaoCai();
        baoCai.cookProcess();
    }
}

总结


posted @ 2021-10-13 18:30  一个经常掉线的人  阅读(34)  评论(0)    收藏  举报