博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《设计模式》学习笔记——适配器模式
阅读量:4110 次
发布时间:2019-05-25

本文共 1082 字,大约阅读时间需要 3 分钟。

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。 将一个类的接口转换成另一个类的接口,使原本因为接口不兼容的类能够相互工作。 这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。

AdapterPattern.h

#pragma once#include
#include
class Current18V{public: virtual void useCurrent18V() = 0;};class Current220V{public: void useCurrent220V(void) { std::cout << "当前使用电压220V" << std::endl; }};class AdapterPattern:public Current18V{public: AdapterPattern(Current220V * current220V):m_current220V(current220V) {}; ~AdapterPattern() { delete m_current220V; }; virtual void useCurrent18V(void) { std::cout << "适配器内部" << std::endl; m_current220V->useCurrent220V(); std::cout << "适配18V" << std::endl; }private: Current220V * m_current220V;};

 

AdapterPattern.cpp

#include "AdapterPattern.h"

 

mainTest.cpp

#include
#include"AdapterPattern.h"int main(void){ Current220V* current220V = new Current220V; AdapterPattern* adapterPattern = new AdapterPattern(current220V); adapterPattern->useCurrent18V(); delete adapterPattern; adapterPattern = nullptr; adapterPattern = nullptr; system("pause"); return 0;}

 

转载地址:http://ehmsi.baihongyu.com/

你可能感兴趣的文章
Flutter Boost的router管理
查看>>
iOS开发支付集成之微信支付
查看>>
C++模板
查看>>
【C#】如何实现一个迭代器
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>
DirectX11 光照演示示例Demo
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Node.js-模块和包
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
管理用户状态——Cookie与Session
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
【增强学习在无人驾驶中的应用】
查看>>
OpenCV meanshift目标跟踪总结
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
听说玩这些游戏能提升编程能力?
查看>>