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

导读:本篇文章讲解 java中的模板设计模式【抽象类的最佳实践】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

  老韩的介绍:

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 }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/98977.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!