模板模式(部分方法延迟到子类实现)
2017-06-01 17:50
246 查看
项目中,用到了抽象类作为父类,有部分实现。
提供了了模板方法作为子类公共方法,模板方法中调用了抽象类的抽象方法和部分非抽象方法。
执行代码时,发现模板方法调用了抽象类的抽象方法,当时比较好奇,后来发下这是一种延迟加载,具体调用
的子类哪个方法,是由于调用方决定的
参考:http://www.cnblogs.com/zplogo/p/6428593.html
如下processData()方法会被实现类继承,子类调用时,还是调用这个方法,但是子类已经重写了process方法,所以知道调用哪个process方法
提供了了模板方法作为子类公共方法,模板方法中调用了抽象类的抽象方法和部分非抽象方法。
执行代码时,发现模板方法调用了抽象类的抽象方法,当时比较好奇,后来发下这是一种延迟加载,具体调用
的子类哪个方法,是由于调用方决定的
参考:http://www.cnblogs.com/zplogo/p/6428593.html
如下processData()方法会被实现类继承,子类调用时,还是调用这个方法,但是子类已经重写了process方法,所以知道调用哪个process方法
相关文章推荐
- 模板方法模式(Template Method)-定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
- 设计技巧15:模板方法 Template Method 在一个方法中定义一个算法的骨架,而将一些步骤延迟的子类中,实现Ioc
- Groovy探索之闭包 七 使用闭包来实现模板方法模式
- 模板方法模式c++实现
- 模板方法模式——组合查询的实现
- 设计模式之模板方法模式,C++实现
- [设计模式]_[中级]_[模板方法C++例子实现举例]
- 探索之闭包 七 使用闭包来实现模板方法模式
- C++模板实现的通用工厂方法模式
- 行为模式之模板方法模式(Template Pattern)C++实现
- 《模式——工程化实现及扩展》(设计模式C# 版)《模板方法模式 Template》——“自我检验"
- 设计模式C++实现(5)——原型模式、模板方法模式
- 设计模式C++实现(5)——原型模式、模板方法模式
- 模板方法模式实现探讨
- 模板方法模式实现探讨
- 设计模式C++实现(5)——原型模式、模板方法模式
- java设计模式---Template Method模板方法---实际处理交给子类
- 设计模式C++实现(4)——原型模式、模板方法模式
- C++高效实现模板方法模式
- c++ 实现模板方法模式