行为设计模式---模板方法模式(Template Method)
来源:互联网 发布:淘宝店怎么转让 编辑:程序博客网 时间:2024/06/05 03:18
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
Template.h
#ifndef _TEMPLATE_H_
#define _TEMPLATE_H_
class Account
{
public:
virtual void start() = 0;
virtual void allow() = 0;
virtual int MaxLimit() = 0;
void withdraw(int);
};
class AccountNormal : public Account
{
public:
virtual void start();
virtual void allow();
virtual int MaxLimit();
};
class AccountPower : public Account
{
public:
virtual void start();
virtual void allow();
virtual int MaxLimit();
};
#endif
Template.cpp
#include <iostream>
#include "Template.h"
using std::cout;
using std::endl;
void Account::withdraw(int account)
{
start();
int limit = MaxLimit();
if (account < limit)
allow();
else
cout << "not allow" << endl;
}
void AccountNormal::start()
{
cout << "AccountNormal start" << endl;
}
void AccountNormal::allow()
{
cout << "AccountNormal allow" << endl;
}
int AccountNormal::MaxLimit()
{
return 3000;
}
void AccountPower::start()
{
cout << "AccountPower start" << endl;
}
void AccountPower::allow()
{
cout << "AccountPower allow" << endl;
}
int AccountPower::MaxLimit()
{
return 8000;
}
main.cpp
#include "Template.h"
int main()
{
AccountNormal normal;
normal.withdraw(2000);
AccountPower power;
power.withdraw(9000);
return 0;
}
- 设计模式(22)-行为型-模板方法模式(Template Method)
- 【设计模式基础】行为模式 - 6 - 模板方法(Template Method)
- [设计模式-行为型]模板方法模式(Template Method)
- 行为设计模式---模板方法模式(Template Method)
- 【设计模式】行为模式之Template Method模板方法
- Template Method模板方法设计模式(类行为型)
- 行为模式 - 模板方法(Template Method)
- Template Method模板方法(行为型模式)
- 行为模式: Template Method(模板方法)
- 设计模式----模板方法模式(Template Method)
- [设计模式]模板方法模式(Template Method)
- 设计模式:模板方法模式-template method
- 设计模式 模板方法模式 Template Method
- 【行为型模式】模板方法模式(template method)之23种java设计模式
- 设计模式深入学习--Template Method模板方法模式(行为型模式)
- 【设计模式】行为性模式——模板方法模式(Template Method Pattern)
- 行为型模式-模板方法模式(Template Method)
- 行为型模式之模板方法模式(Template Method)
- VC6工程升级VS2013遇到的问题
- XCODE4.6创建我的第一个ios程序:hello
- Linux Shell编程(16)——循环
- Linux Shell编程(17)——嵌套循环
- Linux Shell编程(18)—— 循环控制
- 行为设计模式---模板方法模式(Template Method)
- Linux Shell编程(19)——测试与分支
- Linux Shell编程(20)——基本命令
- Linux Shell编程(21)——复杂命令
- Linux Shell编程(22)——时间/日期 命令
- 水一水
- 二叉搜索树转换成双向链表
- Linux Shell编程(23)——文本处理命令
- Linux Shell编程(24)——命令替换