简单理解模板方法模式
模板方法模式是先定义好模板,其中不确定的部分由子类实现决定,又称为钩子函数,往设计好的钩子上挂什么就执行什么,JAVA中的AWT就是用了这样的方法。
首先定义方法模板,其中的paint方法由实现类决定
package com.me;
public class PrintWindow {
public static void drawFrame(MyFrame f){
System.out.println("启动线程");
System.out.println("增加循环");
System.out.println("查看消息想");
//画窗口
f.paint();
System.out.println("启动线程,增加效率");
}
}
父类,一般用抽象类或接口
package com.me;
public class MyFrame {
public void paint(){
System.out.println("把自己窗口画出来");
}
}
子类
class newFrame extends MyFrame{
@Override
public void paint() {
System.out.println("子类实现的画窗口方法");
}
}
测试类
package com.me;
public class OOPCallBack {
public static void main(String []ar){
PrintWindow p=new PrintWindow();
p.drawFrame(new newFrame());
}
}
结果
启动线程
增加循环
查看消息想
子类实现的画窗口方法
启动线程,增加效率
-