设计模式:template method模式
2024-09-02 13:40:59
思想:在父类中定义处理流程的框架,在子类中实现具体的处理方法
优点:在父类中定义处理的算法,无需在每个子类中重复编写
继承关系图:
例子:
//接口定义
class Parent
{
public:
virtual void open() = 0; //需要子类实现
virtual void print() = 0; //需要子类实现
virtual void close() = 0; //需要子类实现
virtual void work() //模板方法,定义处理的流程框架
{
open();
for(int i=0; i<5; i++)
{
print();
}
close();
}
};
//子类实现具体的方法
class Child: public Parent
{
public:
void open() //子类具体实现
{
cout << "----------------------" << endl;
} void print() //子类具体实现
{
cout << " Good Good Good Good" << endl;
} void close() //子类具体实现
{
cout << "----------------------" << endl;
}
};
int main()
{
Parent* p = new Child();
p->work();
return 0;
}
最新文章
- NSoperation用法详解及与GCD的比较
- 【转】ubuntu 重启命令,ubuntu 重启网卡方法
- WebSphere试用过期问题处理
- Linux 下Shell 脚本几种基本命令替换区别
- FPGA最小系统分析与电路设计
- sender是什么意思C#
- nodejs快速入门
- NServiceBus-网关和多站点分布
- 使用zend studio配置Xdebug调试PHP教程
- 去除windows的Shift+Space 全角半角切换
- js或者cs代码拼接html
- javascript 全选与反选
- ZOJ 1610 间隔染色段树
- Vulkan Tutorial 05 物理设备与队列簇
- iOS:我的学习路径
- thinkphp查询某个字段为空的数据
- 剑指offer例题分享--8
- 项目实战03:Keepalived 实现高可用
- TCP 三次握手原理,你真的理解吗?
- express next function