设计模式 - 最简单的模板方法 ( TemplateMethod )

设计模式 - 最简单的模板方法 ( TemplateMethod )

也就是钩子函数

设计模式 - 最简单的模板方法 ( TemplateMethod )
当你调用了setVisible(true)的时候, 窗口会显示出来
你可以想象一下, 当setVisible被调用用, 经过一系列的处理逻辑, 最终必定会调用抽象方法update()和paint(), 也就调用了你在子类中具体实现的update和paint方法

.

所以模板方法的意思是说

在父类有一个templateMethod, 在这个方法里调用了op1和op2等抽象方法, op1和op2的实现, 可以到子类去实现, 父类只需要实现共同的逻辑

演示代码如下:
设计模式 - 最简单的模板方法 ( TemplateMethod )
模板方法, 不能是abstract的, 否则就不能被外部调用, 因此, 它也必须是public的

F f = new C1(); // 引用是父类类型, new的类型是子类类型
f.m(); // 调用父类类型的模板方法