欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

模版方法模式

程序员文章站 2022-07-14 09:06:39
...

模版方法模式:
抽象类(abstractor class)作为子类的通用模版,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。

Java实例
抽象类声明了2个方法如下,
code() :执行一段代码
time() : 计算代码执行的时间

Template.java

package demo.template;

public abstract class Template {
    //执行一段代码
    abstract void code();

    //计算代码执行的时间
    public long time(){
        long start = System.currentTimeMillis();
        code();
        long end = System.currentTimeMillis();
        return end - start;
    }
}

SubTemplate.java

package demo.template;

public class SubTemplate extends Template{
    @Override
    void code() {
        double i = 0;
        while (i<900000000){
            i++;
        }
    }

}

Test.java

package demo.template;

public class Test {
    @org.junit.Test
    public void test(){
        Template template = new SubTemplate();
        long l = template.time();
        System.out.println(l);
    }
}