好比,汽车模型须要有 start() enginBoom() alarm() stop() run(); 对于每一个汽车来讲,可以发动,中止,喇叭响,引擎轰鸣,是共有的. 因此都提到父类的run()方法里去,不一样的汽车型号可能有不一样的发动,响声等行为就交给各自的子类实现 这就是最简单的模板方法函数
钩子函数 如今一旦run以后,他就一直响声(alarm),怎么办呢? 咱们能够再父类中定义一个isAlarm(),由子类决定到底响不响钩子
这样能够实现外界条件改变,影响模板方法的执行.模板