模版方法模式

模版方法模式:
抽象类(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);
    }
}

你可能感兴趣的:(模版方法模式)