23种设计模式-------模板模式
来源:互联网 发布:windows vista开不了机 编辑:程序博客网 时间:2024/06/05 07:56
package demo;
/**
* 二.模板模式
* 兩種角色:
* 1.抽象模板
* 1.抽象方法 :需要子類去實現,子類必須實現
* 2.回調方法:擴展方法,是一個空方法,子類可以重寫,也可以不重寫
* 3.私有的最終方法 :不可重寫
* 4.模板方法:這個方法中定義了每一個方法的執行順序和邏輯
* 2.具體
* 需要實現抽象模板中的抽象方法
*
*
*/
abstract class ConcreteTemplate {
/**
* 模板方法
*/
public void templateMethod(){
//调用基本方法
abstractMethod();
hookMethod();
concreteMethod();
}
/**
* 基本方法的声明(由子类实现)
*/
protected abstract void abstractMethod();
/**
* 基本方法(空方法)
*/
protected void hookMethod(){}
/**
* 基本方法(已经实现)
*/
private final void concreteMethod(){
//业务相关的代码
}
}
public class ConcreteTemplate extends ConcreteTemplate{
//基本方法的实现
@Override
public void abstractMethod() {
//业务相关的代码
}
//重写父类的方法
@Override
public void hookMethod() {
//业务相关的代码
}
}
/**
* 二.模板模式
* 兩種角色:
* 1.抽象模板
* 1.抽象方法 :需要子類去實現,子類必須實現
* 2.回調方法:擴展方法,是一個空方法,子類可以重寫,也可以不重寫
* 3.私有的最終方法 :不可重寫
* 4.模板方法:這個方法中定義了每一個方法的執行順序和邏輯
* 2.具體
* 需要實現抽象模板中的抽象方法
*
*
*/
abstract class ConcreteTemplate {
/**
* 模板方法
*/
public void templateMethod(){
//调用基本方法
abstractMethod();
hookMethod();
concreteMethod();
}
/**
* 基本方法的声明(由子类实现)
*/
protected abstract void abstractMethod();
/**
* 基本方法(空方法)
*/
protected void hookMethod(){}
/**
* 基本方法(已经实现)
*/
private final void concreteMethod(){
//业务相关的代码
}
}
public class ConcreteTemplate extends ConcreteTemplate{
//基本方法的实现
@Override
public void abstractMethod() {
//业务相关的代码
}
//重写父类的方法
@Override
public void hookMethod() {
//业务相关的代码
}
}
阅读全文
0 0
- 23种设计模式-模板方法模式
- 23种设计模式-------模板模式
- 23种设计模式~模板方法的设计模式
- 设计模式-模板模式
- 设计模式----模板模式
- 设计模式:模板模式
- 设计模式:模板模式
- 设计模式--模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 《设计模式》- 模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 设计模式-模板模式
- 设计模式-----模板模式
- 设计模式-模板模式
- 设计模式--模板模式
- qt5.1+ vs2013+opencv2.4.8制作第一个图形界面
- Java并发编程札记-(三)JUC原子类-07CAS操作
- JZOJ 5466. 【NOIP2017提高A组冲刺11.9】玩游戏
- 利用swiper进行tab切换时,需要注意的问题。
- python中的计时器:timeit
- 23种设计模式-------模板模式
- sequelize-入门
- 前端ui框架+数据可视化发展浅析
- java泛型使用时的约束与局限性
- NOIP 2017 普及组 跳房子 jump
- NOIP2017复赛总结
- samba
- 用于收藏
- 3363-数据结构实验之图论七:驴友计划