模版方法模式 : 定义一个操作中的算法的骨架 , 而将一些步骤延迟到子类中,模版方法可以使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤.
他定义了调用其他方法的顺序 final run(),并且子类是不能修改的,这个叫做模板方法;start、stop、
alarm、engineBoom 这四个方法是子类必须实现的,而且这四个方法的修改对应了不同的类,这个叫做基本
方法,基本方法又分为三种:在抽象类中实现了的基本方法叫做具体方法;在抽象类中没有实现,在子类
中实现了叫做抽象方法,我们这四个基本方法都是抽象方法,由子类来实现的;还有一种叫做钩子方法
模版方法
继承模版方法
客户端(可选择使用钩子方法和不使用钩子方法)