博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式3:模板模式(1)
阅读量:6259 次
发布时间:2019-06-22

本文共 1395 字,大约阅读时间需要 4 分钟。

  定义:

    定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

 

  概述:

    定义一个功能时,功能的一部分是确定的,而另一部分不确定,确定的部分需要用到不确定的部分,把不确定的部分暴露出去,让子类实现。

 

  模板模式与抽象类和抽象方法联系在一起,其大致框架如下:

1 abstract class 类名{ 2     //确定部分 3     public void f(){ 4         ... 5         f1(); 6     } 7      8     //不确定部分 9     public abstract void f1();10 }

 

  示例:

1 package com.pattern; 2  3 //该Demo测试一个一个方法的执行时间 4 public class Test2 { 5     public static void main(String[] args) { 6         T t = new T(); 7         t.getTime(); 8     } 9 }10 11 abstract class Test{12     public void getTime(){13         long start = System.currentTimeMillis();14         f();15         long end = System.currentTimeMillis();16         System.out.println(start);17         System.out.println(end);18         System.out.println("执行该方法花费的时间:"+(end-start)+"ms");19     }20     public abstract void f();21 }22 class T extends Test{23     @Override24     public void f() {25         for(int i =1;i<=100;i++)26             try {27                 Thread.sleep(100);28             } catch (InterruptedException e) {29                 // TODO Auto-generated catch block30                 e.printStackTrace();31             }32     }33     34 }35 36 /*37 abstract class 类名{38     //确定部分39     public void f(){40         ...41         f1();42     }43     44     //不确定部分45     public abstract void f1();46 }47 */

  效果:

 

  未完,待续。

 

转载于:https://www.cnblogs.com/enjoy-coding/p/4803576.html

你可能感兴趣的文章
java中常见的异常
查看>>
JS如何操作class选择器的样式
查看>>
用NotePad++如何实现大小写转换
查看>>
StringBuffer 清空StringBuffer的实例的三种方法
查看>>
Java 中的多态,一次讲个够之继承关系中的多态
查看>>
在Windows下/Linux下安装jdk版本
查看>>
SOUI Editor使用教程
查看>>
session多服务器共享的方案梳理
查看>>
bower 安装
查看>>
OpenCV 在mac下的安装以及在Xcode中的配置
查看>>
第三次Scrum meeting
查看>>
replace和replaceAll小题目
查看>>
下载python3.6,进行编译安装,运行django程序
查看>>
PCA人脸识别学习笔记---代码篇
查看>>
grep
查看>>
归档备份被删,GoldenGate无法抽取数据
查看>>
Could not create the view: An unexpected exception was thrown.
查看>>
codeforces 445A
查看>>
基础语法
查看>>
多线程和CPU的关系
查看>>