黑马程序员技术交流社区
标题: 模板方法设计模式分享 [打印本页]
作者: Nathan矫立伟 时间: 2014-6-13 23:25
标题: 模板方法设计模式分享
- package com.practice;
- public class Demo {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- SubTime st=new SubTime();
- st.getTime();
- }
- }
- class SubTime extends GetTime{
- //复写抽象类的抽象方法
- @Override
- public void runCode() {
- // TODO Auto-generated method stub
- for (int i = 0,j=0; i < 1000; i++) {
- System.out.print("x"+"\t");
- j++;
- if (j==5) {
- System.out.println();
- j=0;
- }
- }
- }
-
- }
- //
- abstract class GetTime{
- //加上final,防止确定的部分被恶意复写
- public final void getTime(){
-
- long start=System.currentTimeMillis();
- runCode();
- long end=System.currentTimeMillis();
- System.out.println("毫秒:"+(end-start));
- }
- //不确定的部分抽象化,由实现类完成复写
- public abstract void runCode();
- }
复制代码模版方法:
在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间,并相减即可
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |