设计模式
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索。
模板设计模式
抽象类的应用:模板方法设计模式(Template Method)
举例:
需求:获取任意一段程序的运行时间
提示:获取程序开始和结束的时间并相减即可。获取时间:
System.currentTimeMillis();
public class TestTemplateMethod {
public static void main(String[] args) {
Template t=new SubTemplate();
t.getTime();
}
}
abstract class Template {
public final void getTime() {
long start = System.currentTimeMillis();
code();//不确定部分,抽取出来
long end = System.currentTimeMillis();
System.out.println("执行时间是:" + (end - start));
}
protected abstract void code();
}
//不确定部分由子类去实现
class SubTemplate extends Template {
protected void code() {
for (int i = 0; i < 10000; i++) {
System.out.println(i);
}
}
}