设计模式:适配器模式(7.1.1)C++版
来源:互联网 发布:自学java推荐书籍 编辑:程序博客网 时间:2024/05/22 17:31
适配器模式:将一个类的接口,转换成用户期望的接口
对象适配器模式
C++示例代码如下:
#include "stdafx.h"#include <string>#include <iostream>using namespace std;/** CONTENTS: DESIGN PATTERN, OBJECT ADAPTER PATTERN* AUTHOR: YAO H. WANG* TIME: 2013-11-3 15:21:42* EDITION: 1* LINK: http://blog.csdn.net/yaohwang ** ALL RIGHTS RESERVED!*///鸭子class Duck{public:virtual void quack() = 0;virtual void fly() = 0;};class MallardDuck: public Duck{public:void quack(){cout << "Quack" << endl;}void fly(){cout << "I'm flying" << endl;}};//火鸡class Turkey{public:virtual void gobble() = 0;virtual void fly() = 0;};class WildTurkey: public Turkey{public:void gobble(){cout << "Gobble gobble" << endl;}void fly(){cout << "I'm flying a short distance" << endl;}};//适配器class TurkeyAdapter: public Duck{private:Turkey *turkey;public:TurkeyAdapter(Turkey *turkey){this->turkey = turkey;}void quack(){turkey->gobble();}void fly(){for(int i = 0; i < 5; ++i)turkey->fly();}};//测试void testDuck(Duck *duck){duck->quack();duck->fly();}void main(){MallardDuck *duck = new MallardDuck();WildTurkey *turkey = new WildTurkey();Duck *turkeyAdapter = new TurkeyAdapter(turkey); cout << "The Turkey says..." << endl;turkey->gobble();turkey->fly();cout << "\nThe Duck says..." << endl;testDuck(duck);cout << "\nThe TurkeyAdapter says..." << endl;testDuck(turkeyAdapter);delete duck;delete turkey;delete turkeyAdapter;}
- 设计模式:适配器模式(7.1.1)C++版
- 设计模式1-适配器模式(Adapter)
- 设计模式:适配器模式(7.1.2)C++版
- 设计模式-适配器模式(1)
- C语言和设计模式(适配器模式)
- C语言和设计模式(适配器模式)
- C语言和设计模式(适配器模式)
- 12.C语言和设计模式(适配器模式)
- 15、C语言和设计模式(适配器模式)
- 设计模式——适配器模式(C++)
- C#--设计模式之适配器模式
- 适配器模式(C++)
- 设计模式(适配器模式,外观模式)
- 设计模式(四)适配器设计模式
- 设计模式:适配器模式
- 设计模式------适配器模式
- 设计模式:适配器模式
- 设计模式---适配器模式
- ios7状态栏不覆盖列表页
- SQL SERVER 不能启用专用管理员连接DAC
- [LeetCode] First Missing Positive
- String
- Ubuntu使用笔记_rar工具
- 设计模式:适配器模式(7.1.1)C++版
- 算法:字符串消除问题的数学证明
- MYSQL 将日期转化为YYYY-MM-DD HH:MM:SS 的SQL语句
- 【PAT Advanced Level】1017. Queueing at Bank (25)
- Apache CXF
- iOS开发 _ iOS7的兼容之上移20
- df与du
- Linux C 网络编程——4. 简单TCP Socket程序
- Arrays.sort()