c++设计模式--对象适配器模式
2013-09-14 18:31
288 查看
// AdapterPattern.cpp : 定义控制台应用程序的入口点。
//通过此例程了解设计模式里的“对象适配器模式”
//适配器模式:将一个类的接口转换为用户希望的另一个类的接口,适配器模式使得
//原本由于接口不兼容而不能再一起工作的类可以再一起工作--《大话设计模式》
//手机的电压一般在3-4.2v,
//而电视机的电压在220v--300v
//两者显示的电压不同,我们要利用适配器去覆盖手机的电压显示接口去显示电视机的电压行为
//通过此例程了解设计模式里的“对象适配器模式”
//适配器模式:将一个类的接口转换为用户希望的另一个类的接口,适配器模式使得
//原本由于接口不兼容而不能再一起工作的类可以再一起工作--《大话设计模式》
//手机的电压一般在3-4.2v,
//而电视机的电压在220v--300v
//两者显示的电压不同,我们要利用适配器去覆盖手机的电压显示接口去显示电视机的电压行为
#include "stdafx.h" #include <process.h> #include <iostream> using namespace std; class CPhoneVoltage { public: CPhoneVoltage() { } virtual ~CPhoneVoltage() { } virtual void ShowPhoneVoltage()const=0; }; class CTvVoltage { public: void ShowTvVoltage() { cout<<"220 V"<<endl; } }; //电视机电压适配器继承于手机类,同时在内部关联机一个电视电压对象,这样可以覆盖掉手机的接口,以实现显示电视机电压的行为 class CTvAdapter:public CPhoneVoltage { public: CTvAdapter(CTvVoltage *pTvVo) { this->m_pTvVo=pTvVo; } void ShowPhoneVoltage() const { m_pTvVo->ShowTvVoltage(); } private: CTvVoltage *m_pTvVo; }; int _tmain(int argc, _TCHAR* argv[]) { cout<<"-------适配器模式测试案例---------------"<<endl<<endl; CTvVoltage *pTvVo=new CTvVoltage(); CTvAdapter *pAdap=new CTvAdapter(pTvVo); pAdap->ShowPhoneVoltage(); delete pAdap; delete pTvVo; pTvVo=NULL; pAdap=NULL; system("pause"); return 0; }
相关文章推荐
- C++设计模式----对象适配器模式
- C++设计模式——适配器模式(对象适配器、类适配器)
- 笔记:C++设计模式——适配器模式:对象适配器(复制自网络)
- C++设计模式——适配器模式(对象适配器、类适配器)
- 面向对象设计模式纵横谈:Adapter 适配器模式(笔记记录)
- 我所理解的设计模式(C++实现)——适配器模式(Adapter Pattern)
- 设计模式之适配器模式(Adapter Pattern)C++实现
- C++设计模式八--AdapterPattern(适配器模式)
- 我所理解的设计模式(C++实现)——适配器模式(Adapter Pattern)
- C++设计模式-----适配器模式
- 设计模式C++实现十三:适配器模式
- 设计模式C++实现(3)——适配器模式
- 设计模式C++实现(3)——适配器模式
- 设计模式之适配器模式(Adapter Pattern)C++实现
- 设计模式C++实现(3)——适配器模式
- 最常用的设计模式---适配器模式(C++实现)
- 设计模式之适配器模式(Adapter)C++实现
- PHP设计模式之适配器模式,建造者模式,数据访问对象模式
- c++设计模式六,适配器模式
- 设计模式---空对象模式(C++实现)