黑马程序员-Java_模版方法设计模式(Template Pattern)

--------- android培训java培训、期待与您交流!----------


   模版方法设计模式(Template Pattern)

  • 以一个例子来说明:

  • 需求:获取一段程序运行的时间

  • 原理:获取程序开始和结束的时间

  • 获取时间:System.currentTimeMillis();

  • 当代码完成优化后,就可以解决这类问题。

  • 这种方式,叫模版方法设计模式

  • 概念:

   在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分那么就将不确定的部分暴露出来,让子类实现。

//因为有抽象方法,所以类必定抽象
abstract class GetTime
{
    //因为子类继承了父类的方法,而此方法是获取时间的方法,不能让子类复写,所以加final.
    public final void getTime()
    {
        long start = System.currentTimeMillis();
        //把没有确定的代码封装。
        runcode();
        long end = System.currentTimeMillis();
        System.out.println("毫秒:"+(end - start));
    }
    //因为单独封装出来的代码,我们并不确定它的方法体。所以用abstract来修饰。
    public abstract void runcode();
}
class SubTime extends GetTime
{
    //子类覆盖父类的runcode()方法。
    public void runcode()
    {
        for(int x = 0; x < 400; x++)
        {
            System.out.println(x);
        }
    }
}
class TemplateDemo
{
    public static void main(String[] args)
    {
        SubTime st = new SubTime();
        st.getTime();
    }
}


--------- android培训java培训、期待与您交流!----------

本文出自 “汐朔” 博客,转载请与作者联系!

你可能感兴趣的:(Pattern,template)