311模板模式

103 阅读1分钟

定义

定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

类图

图片1.png

代码

public class TemplatePattern {
    public static void main(String[] args) {
        Cooking cooking = new CookingFood();
        cooking.cook();
    }
}
abstract class Cooking{
    protected abstract void step1();
    protected abstract void step2();
    public void cook(){
        System.out.println("begin");
        step1();
        step2();
        System.out.println("end");
    }
}
class CookingFood extends  Cooking{
    @Override
    protected void step1() {
        System.out.println("切菜");
    }
    @Override
    protected void step2() {
        System.out.println("炒菜");
    }
}