设计模式-适配器模式
来源:互联网 发布:剑网三妖成男捏脸数据 编辑:程序博客网 时间:2024/05/22 04:52
适配器模式:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。
模式比较简单,直接贴代码:
#ifndef Duck_h#define Duck_h#include <iostream>class Duck {public: virtual void quack()=0;};class MallardDuck:public Duck{public: void quack(){ printf("MallardDuck Quack\n"); }};#endif /* Duck_h */
#ifndef Turkey_h#define Turkey_h#include <iostream>class Turkey{public: //火鸡不能呱呱叫,只能咯咯叫 void gobble(){ printf("Turkey Gobble\n"); }};#endif /* Turkey_h */
#ifndef TurkeyAdapter_h#define TurkeyAdapter_h#include "Duck.h"#include "Turkey.h"class TurkeyAdapter:public Duck{private: Turkey* turkey;public: TurkeyAdapter(Turkey* turkey){ this->turkey = turkey; } void quack(){ turkey->gobble(); }};#endif /* TurkeyAdapter_h */
#include <iostream>#include "Duck.h"#include "Turkey.h"#include "TurkeyAdapter.h"void testQuack(Duck* duck);int main(int argc, const char * argv[]) { auto duck = new MallardDuck(); auto turkey = new Turkey(); auto turkeyAdapter = new TurkeyAdapter(turkey); testQuack(duck); testQuack(turkeyAdapter);//使用适配器使火鸡兼容Duck*参数 return 0;}void testQuack(Duck* duck){//客户只接受Duck*类型 duck->quack();}
0 0
- 设计模式:适配器模式
- 设计模式------适配器模式
- 设计模式:适配器模式
- 设计模式---适配器模式
- 设计模式 适配器模式
- 设计模式 - 适配器模式
- 设计模式--适配器模式
- 设计模式-适配器模式
- 设计模式------适配器模式
- 设计模式---适配器模式
- 设计模式- 适配器模式
- 设计模式 - 适配器模式
- 设计模式:适配器模式
- 适配器模式--设计模式
- 设计模式 - 适配器模式
- 设计模式-适配器模式
- 设计模式---适配器模式
- 设计模式-适配器模式
- 二十三种设计模式之结构型模式之组合模式
- 隐式intent和显式intent
- 高性能集群软件Keepalived
- 赚的钱不花掉就不算自己的钱?
- 在 Ubuntu 14.04 Server 上安装 Ganglia
- 设计模式-适配器模式
- SMTP命令学习(发邮件)
- QtQuick学习笔记(二)QML基本语法
- 【编程之美】中国象棋将帅问题
- java定时器与定时任务
- c++设计模式-----代理模式proxy
- hdu5458 2015沈阳赛区网络赛 树链剖分+并查集
- TreeSet的两种排序方式
- Minimum Cut (hdu 5452 离线LCA)