当前位置: 首页 > news >正文

南山网站建设找哪家公司好十堰官网seo哪家好

南山网站建设找哪家公司好,十堰官网seo哪家好,南昌网站建设有哪几家,外贸在哪个网站做1.什么是适配器模式? 可以将⼀个类的接⼝转换成客户希望的另⼀个接⼝,主要⽬的是 充当两个不同接⼝之间的桥梁,使得原本接⼝不兼容的类能够⼀起⼯作。 2. 适配器模式的组成 (1)接口类,给客户端调用&…

1.什么是适配器模式? 

可以将⼀个类的接⼝转换成客户希望的另⼀个接⼝,主要⽬的是 充当两个不同接⼝之间的桥梁,使得原本接⼝不兼容的类能够⼀起⼯作。

2. 适配器模式的组成

(1)接口类,给客户端调用;(2)被适配者类;(3)适配器类。

3.适配器模式的分类

适配器模式一般分为类适配器模式和对象适配器模式。

(1)类适配器模式:适配器类通过继承适配者类(多重继承),达到适配目的,部分语言可能不支持多重继承(如C#)。

(2)对象适配器模式:适配器类中存放适配者类的实例对象,调用它来达到适配目的,该模式较常用。下面的题目我们使用第二种类型来进行求解。

下面我们看一下《大话设计模式》这本书对适配器模式的介绍与实现:

 不难看出,适配器模式的适配器类Adapter继承了原始的客户接口Target,并且适配器类Adapter里面包含了一个待适配类的对象,重写接口中的虚函数,实际调用的是这个对象的功能函数。在使用适配器模式时,客户端调用的接口会从原来的target变成现在的Adapter.

4.c++实现适配器模式

题目描述

小明购买了一台新电脑,该电脑使用 TypeC 接口,他已经有了一个USB接口的充电器和数据线,为了确保新电脑可以使用现有的USB接口充电器和数据线,他购买了一个TypeC到USB的扩展坞。

请你使用适配器模式设计并实现这个扩展坞系统,确保小明的新电脑既可以通过扩展坞使用现有的USB接口充电线和数据线,也可以使用TypeC接口充电。

输入描述

题目包含多行输入,第一行输入一个数字 N (1 < N <= 20),表示后面有N组测试数据。

之后N行都是一个整数,1表示使用电脑本身的TypeC接口,2表示使用扩展坞的USB接口充电。

输出描述

根据每行输入,输出相应的充电信息。

输入示例

3
1
2
1

输出示例

TypeC
USB Adapter
TypeC

代码实现:

我们就按照大话设计模式介绍的过程来实现这些功能。代码如下:

#include<iostream>
using namespace std;//实现接口类(原来的老接口)
class Interface{
public://因为接口类virtual void Charge(){cout<<"TypeC"<<endl;}};//待适配的类
class USB{
public://需要使用适配器进行转换,所以打印了USB Adaptervoid USBCharge(){cout<<"USB Adapter"<<endl;}};//适配器类, 要继承老接口类
class Adapter: public Interface{
public://要包含一个待适配的对象Adapter(){ this->usb = new USB(); }~Adapter(){ if(this->usb != nullptr){delete this->usb;this->usb = nullptr;} }//多态完成转换virtual void Charge(){this->usb->USBCharge();}
private:   USB* usb ;
};int main(){int N;cin>>N;//实际在使用适配者模式时,新的接口已经变成了适配器Adapter * newInterface = new Adapter();while(N--){int choice;cin>>choice;if(choice == 1){newInterface->Interface::Charge();}else if(choice == 2){newInterface->Charge();}}delete newInterface;return 0;
}

因为题目要求还要打印原来的TypeC,所以我在红框里使用了继承下来的原始充电方式。 而newInterface->Charge();这行代码就是还原的适配器模式了。

 

上述内容如有错误之处,还请各位小伙伴批评指正!此致,敬礼!!!

这里也推荐一篇很好的博文,将适配器模式讲的很清楚: 

设计模式之适配器模式(C++)_c++ 设计模式适配器-CSDN博客icon-default.png?t=N7T8https://zhaitianbao.blog.csdn.net/article/details/129406741

http://www.yayakq.cn/news/781444/

相关文章:

  • 网站有哪些网站自己怎么做优化
  • 免费ppt模板素材网站有哪些网站域名查询ip地址
  • 建设购物网站流程图网站设计公司哪家便宜
  • 网站开发客户挖掘网站维护 一年
  • 网站开发文档word免费游戏不用登录大全
  • 周口城乡建设局网站wordpress官网密码错误
  • 专业的昆明网站建设永久免费搭建网站
  • 重庆手机网站方案设计wordpress二级栏目
  • 宁河集团网站建设网站建设公司市场
  • 好玩的网站源码网站建设怎么接单
  • 建设99网站嵩明网站建设
  • 网站排名快速提升工具最新网游网络游戏新开服
  • 郑州网站建设方案报价京东网页设计实训报告
  • 贾汪网站开发郑州网站建设居易国际
  • 阿里云网站建设 部署与发布济南做网站哪家好怎么选
  • 智慧旅游门户网站建设方案学校网站开发必要性与意义
  • 2016年做网站能赚钱吗网页链接的视频怎么下载
  • 中建一局华江建设有限公司网站网络科技服务公司
  • 域名注册 网站建设 好做吗科技企业网站建设模板
  • 苏州建站公司选苏州聚尚网络做装修的应该去哪网站找客户
  • 中国自助主做网站有哪些青岛高端网站开发公司
  • 地产项目网站凡科网登录管理系统
  • 网站域名证书查询wordpress页面是什么文章
  • api模式网站开发分销系统 wordpress
  • 做网站的图片要多少像素网站建设任职
  • 网络课程网站建设无经验能做sem专员
  • wap网站开发价钱wordpress登录注册界面
  • 瑞华特散热器网站谁给做的wordpress 旅行主题
  • 做网站有哪些wordpress 百度蜘蛛
  • 厦门湖里区建设局网站wordpress 中英文切换