模板设计模式
来源:互联网 发布:18级毕业生 程序员 编辑:程序博客网 时间:2024/06/13 21:57
模板方法设计模式
模板方法设计模式是类的行为模式。
用抽象类(父类)作为多个子类的通用模板,然后子类可以抽象类的基础上进行扩展、改造。具体就是在抽象类内定义一些抽象方法,然后让不同的子类以不同的方式去实现这些抽象方法。
解决的问题:当功能内部一部分实现是确定的,一部分实现是不确定的。这时就可以把不确定的部分暴露出去,让子类去实现。
abstract class gettime{ public final void gettime(){ //此功能如果不需要复写,可加final限定 long start = system.currenttimemillis(); code(); //不确定的功能部分,提取出来,通过抽象方法实现 long end = system.currenttimemillis(); system.out.println("毫秒是:"+(end—start)); } public abstract void code(); //抽象不确定的功能,让子类复写实现 } class subdemo extends gettime{ public void code(){ //子类复写功能方法 for(int y=0; y<1000; y++){ system.out.println("y"); } } }
优点
1、简洁性,去除了子类中的重复代码。
2、子类实现算法的某些细节,有助于算法的扩展。
缺点
每个不同的实现都需要定义一个子类,这会导致类的个数的增加,使设计更加抽象。
适用场景
在某些类的算法中,用了相同的方法,造成代码的重复。
控制子类扩展,子类必须遵守算法规则。
0 0
- 设计模式-模板模式
- 设计模式----模板模式
- 设计模式:模板模式
- 设计模式:模板模式
- 设计模式--模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 《设计模式》- 模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 设计模式-----模板模式
- 设计模式-模板模式
- 设计模式--模板模式
- 设计模式--模板模式
- 模板方法设计模式
- 模板设计模式
- java IO 字节流 复制图片实例
- solr java 学习3 基本查询
- nginx旧版本升级新版本
- Thinking in Java-从数组中随机生成且不重复
- 我理解的微服务
- 模板设计模式
- 现在使用应该也是不晚的
- 点击listview item 改变其背景
- 如何利用GIT和oschina来管理项目
- java之反射机制
- memcached整合项目
- js提示Uncaught TypeError: Cannot read property 'options' of null
- 集合
- Android框架