java中的模板设计模式【抽象类的最佳实践】

本文主要讲述抽象类最佳实践,模板设计模式。

  老韩的介绍:

vip

  示例代码如下:

 1 /**
 2  * 需求:计算出执行一个job()方法,所需要花费的时间.
 3  * 使用模板设计模式【抽象类】
 4  */
 5 public class AbstractModel {
 6     public static void main(String[] args) {
 7         // Aa的编译类型是CalculateTime,运行类型是Aa.
 8         // time1.Calculate()的执行过程:
 9         /*
10             先在子类Aa中寻找Calculate()方法,若没有,去父类中查找
11             当执行到job()方法时,根据动态绑定机制,time1对象的运行类型是Aa,执行Aa中job()方法,
12             执行完后,返回到Calculate()方法中。
13          */
14         CalculateTime time1 = new Aa();
15         CalculateTime time2 = new Bb();
16         time1.Calculate();
17         time2.Calculate();
18     }
19 
20 }
21 
22 abstract class CalculateTime {
23     public abstract void job();
24     public void Calculate(){
25         // 记录当前时间
26         long start = System.currentTimeMillis();
27         job();
28         //记录结束时间
29         long end = System.currentTimeMillis();
30 
31         System.out.println("job()工作时间: "+ (end-start));
32     }
33 
34 }
35 
36 class Aa extends CalculateTime{
37     // 动态绑定机制
38     public void job(){
39         int sum = 0;
40         for (int i = 1; i <= 100000; i++) {
41             sum += i;
42         }
43     }
44 }
45 
46 class Bb extends CalculateTime{
47     // 动态绑定机制
48     public void job(){
49         int sum = 0;
50         for (int i = 1; i <= 100000; i++) {
51             sum += i;
52         }
53     }
54 }

 

posted @ 2022-12-20 16:00  zwGitOne  阅读(62)  评论(0编辑  收藏  举报