javase -- 模板方法设计模式


模板方法设计模式(抽象类的应用).

解决的问题.

  • 当功能(方法)内部一部分实现是确定的,一部分实现是不确定的(易变的)。这时可以把不确定的部分暴露出来,让子类去实现
  • 常用
    • 数据库访问的封装
    • Junit单元测试
    • JavaWeb的Servlet中关于doGet、doPost方法的调用
    • Hibernate中的模板程序
    • Spring中的JDBCTemlate、HibernateTemplate等
abstract class Template{
    public void spendTime(){
        long start = System.currentTimeMillis();
        code();// 不确定的部分、易变的部分
        long end = System.currentTimeMillis();
        System.out.println("花费时间:" + (end - start) + "ms");
    }

    public abstract void code();
}

class MyTest extends Template{

    @Override
    public void code() {
        for(int i = 0; i < 1000000; i++) {
        }
    }
    public static void main(String[] args) {
        new MyTest().spendTime();
    }
}

文章作者: liuminkai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liuminkai !
评论
 上一篇
javase -- 接口 javase -- 接口
接口.interface java中类不支持多继承,使用接口实现多重继承的效果 开发中,类和接口是并列的两个结构 interface JDK7及以前:只能定义全局常量和抽象方法 全局常量:[public] [static] [f
2020-07-30
下一篇 
javase -- 抽象类和抽象方法 javase -- 抽象类和抽象方法
abstract 抽象的 可以修饰类、方法 不能用于修饰 私有方法 (因为我们需要重写方法的) 不能用于修饰静态方法(子类与父类同名同参的static方法不叫重写) 不能用于修饰final方法(不能被重写) 抽象类.权限修饰符 ab
2020-07-30
  目录