1.什么是模板设计模式
- 所学的抽象类就是此模式的体现
- 抽象类作为子类的模板
- 子类在这个模板上进行修改
- 但抽象类的行为方式子类是要保持的
Java角度来看,功能内部一部分东西是确定的就写到抽象类中,一部分不确定的暴漏出去,让子类去实现
2.通过抽象案例体现
2.1测试类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public class TemplateTest { public static void main(String[] args) { Template template = new SubTemplate(); template.Code(); template.spendTime(); } } abstract class Template{ public void spendTime() { long start = System.currentTimeMillis(); Code(); long end = System.currentTimeMillis();
System.out.println("花费的时间为:"+(end-start)); }
public abstract void Code(); }
|
2.2子类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class SubTemplate extends Template{ @Override public void Code() { for (int i = 2; i < 1000; i++) { boolean isFlag = true; for (int j = 2;j<Math.sqrt(i);j++){ if (i % j == 0){ isFlag = false; } } if (isFlag){ System.out.println(i); } } } }
|