设计模式之类对象结构型 — ADAPTER (适配器)模式
来源:互联网 发布:如何应对压力 知乎 编辑:程序博客网 时间:2024/05/24 03:38
概述
适配器模式可以将一个类的接口转换成客户希望的另一个类的接口
效果
类适配器
- 一个具体的Adapter(适配器)类对Adaptee(被适配者)和Target(目标)进行匹配
- Adapter可以重定义Adaptee的部分行为
- 不需要额外的指针以间接得到adaptee
对象适配器
- 允许Adapter与Adaptee及其子类一起工作。
- 重定义Adaptee的行为比较困难,需要生成他的子类才可以重定义
结构
示例代码
class Adaptee{public: Adaptee(); ~Adaptee(); void func_a(); void func_b();protected:private:};class Target{public: Target(); virtual ~Target(); virtual bool func_c(int a);protected:private:};/************************************************************************//* 类适配器*//************************************************************************/class Adapter :public Target ,private Adaptee {public: Adapter(); ~Adapter(); bool func_c(int a) { func_a(); func_b(); return true; }protected:private:};/************************************************************************//* 对象适配器 *//************************************************************************/class Adapter :public Target{public: Adapter(Adaptee *adaptee) { m_adaptee = adaptee; } ~Adapter(); bool func_c(int a) { m_adaptee->func_a(); m_adaptee->func_b(); return true; }protected:private: Adaptee *m_adaptee;};
我的个人网站 http://www.breeziness.cn/
我的CSDN http://blog.csdn.net/qq_33775402转载请注明出处 小风code www.breeziness.cn
阅读全文
0 0
- 设计模式之类对象结构型 — ADAPTER (适配器)模式
- 适配器模式(Adapter)-对象结构型模式
- 结构型设计模式---适配器模式(adapter)
- 对象结构型模式——适配器模式(adapter)
- JAVA设计模式(6) —<结构型>适配器模式(Adapter)
- 设计模式之九:Adapter(适配器)—类对象结构型模式
- Adapter(适配器)--类对象结构型模式
- [设计模式-结构型]适配器(Adapter)
- 设计模式之类对象结构型 — BRIDGE (桥接)模式
- 适配器(Adapter)——类对象结构型模式
- 结构型设计模式---Adapter模式(适配器模式)
- 设计模式 一 适配器模式 Adapter(结构型模式)
- 设计模式(6) 结构型模式和适配器模式(ADAPTER)
- 设计模式深入学习---Adapter 适配器模式(结构型模式)
- 设计模式之适配器(Adapter)---类对象结构型模式
- C#面向对象设计模式纵横谈 学习笔记7 Adapter适配器(结构型模式)
- 面向对象设计模式之Adapter适配器模式(结构型)
- 适配器模式(Adapter Pattern 类对象结构型模式)
- spring aop 无法在内部嵌套的方法上生效
- C++拷贝构造的优化
- android开发教程,android开发入门教程
- 二叉树的最大节点
- Servlet--Servlet转发和重定向
- 设计模式之类对象结构型 — ADAPTER (适配器)模式
- kubernetes学习记录(2)——基于Centos7.2的kubernetes集群自动安装与配置
- C语言之变量(笔记四)
- maven(二)
- leetcode(617). Merge Two Binary Trees
- android killer插入log打印加密字符串
- poj 3070 Fibonacci
- ionic 自定义插件 使用.aar
- mysql 5.7 不能正常显示错误信息