模板设计模式实例

package com.qf.test;
/*
 * 模板设计模式:我们在实现一个功能的时候,功能分成两部分,一部分是确定的,一部分是不确定的.将确定的部分交给当前类实现
 *                 将不确定的部分交给子类实现.子类实现的结果又会反过来影响确定部分的功能.
 * 
 * 实例:计算一个功能的耗时
 * 分析:固定的功能:开始时间,结束时间
 * 不固定的功能:程序运行的时间
 */
public class Demo {
    public static void main(String[] args) {
        //测试
        Zi zi = new Zi();
        long value = zi.getTime();
        System.out.println(value);
    }
}

abstract class Fu{
   //抽象的不确定的方法
abstract public void function(); public long getTime() { //开始时间 long startTime = System.nanoTime();//获取的系统时间,单位纳秒 //程序运行的时间,不确定的做成一个抽象的方法,只有声明没有实现,让子类实现 function(); //结束时间 long endTime = System.nanoTime(); return endTime-startTime; } } class Zi extends Fu{ public void function() { for (int i = 0; i < 10; i++) { System.out.println("i:"+i); } } }
原文地址:https://www.cnblogs.com/yumengfei/p/10960440.html