登陆注册
8183300000019

第19章 2 适配器模式

时间:12月16日地点:大B房间人物:大B,小。

都说学好普通话,走遍中国都不怕。就好像Anne来到我们班,如果说她只会说英文,那我们好大一部分同学都不一定听得懂。可是她还会说中文,那以后和大家在一起沟通就好多了。就好比我们讲的适配器。

大B:“师弟,你知道什么是适配器模式吗?”

小A:“就是把一个类的接口转换成客户端所期待的另一种接口,从而使原接口不匹配而无法在一起工作的两个类能在一起工作。”

大B:“从功能上讲这些接口不兼容的类一般具有相同或相似的功能。通常我们通过修改该类的接口来解决这种接口不兼容的情形,但是如果我们不愿意为了一个应用而修改各原有的接口,或者我们压根就没有原有对象的源代码那该怎么办呢?此时Adapter模式就会派上大用场了。你能不能用代码来实现呐?”

小A:“好。我试一下。”

如果有两个编译好的(无源代码)类,类A有某些功能,但是需要一个xml读取模块才能工作,这个模块要实现这个接口:

public interface XmlReader{

public InputStream xmlReader();

}

你的另一个类B恰好有这个功能,但是B实现的是这个接口:

public interface ReaderXml{

public InputStream readerXml();

}

这个时候我们的做法是写个适配器

public class Adapter implements XmlReader extends B{

public InputStream xmlReader(){

return readerXml();

}

}

这个就是适配器模式了。

适配器模式还有另外一种实现方式

public class Adapter implements XmlReader

ReaderXml b=new B();

public InputStream xmlReader(){

return b。readerXml();

}

}

大B:“对,没错!上次有个朋友从美国给我带回一个微波炉,但因为美国的生活用电电压是110V,而中国的电压是220V,所以我不能使用,幸好朋友有先见之明,给我带回一个变压器,能把220V电压转换成110V电压,我才可以放心使用了。”

小A:“嘿嘿!师兄你那位朋友还挺有心的嘛!一定是位很要好的朋友吧?”

大B:“还不就是那个大学时候的死党老E,那鸟人大学毕业后一直在国外,听说最近要回来一趟哩!”

小A:“是吗?那到时你们可爽了,又可以一起喝酒啦!”

大B:“嘿嘿!是啊!毕业几年一直没见过那鸟人,跑国外喝了几年洋墨水,回来一定得好好宰他一顿。”

小A:“那是要的啦!”

大B:“对了,你编程学得不错,能不能把刚才我说的,也就是微波炉电压转换用代码表示?”

小A:“好。通过适配,使c220类能在c110类中使用。”

程序代码:

include《iostream。h》

class c220v

{

public:

void DianYa220v()

{

cout《“220v电压!”《endl;

}

};

class c110v

{

public:

virtual void DianYa110v()=0;

};

class adaper:public c110v

{

private:

c220v*c220obj;

public:

adaper(c220v*obj)

{

c220obj=obj;

}

void DianYa110v()

{

c220obj->DianYa220v();

cout《“经变压器转换成”《endl;

cout《“110v电压”《endl;

}

};

int main()

{

c220v*c220vobj=new c220v;

adaper adobj(c220vobj);

adobj。DianYa110v();

return 1;

}

运行结果:

220v电压!

经变压器转换成

110v电压

大B:“吼!非常不错喔!”

同类推荐
  • 天下一家:网络联通世界(科学新导向丛书)

    天下一家:网络联通世界(科学新导向丛书)

    《天下一家:网络联通世界》一书从网络的基本知识出发,详细地介绍了网络科技的发展与用途,还包括校园网络对普及教育的重大作用。本书内容翔实、结构清晰、图文并茂,是一本实用性极强的网上冲浪参考书。
  • 现代企业财务软件应用教程

    现代企业财务软件应用教程

    本书内容包括财务软件概论、系统管理、企业应用平台、总账管理、报表管理、薪资管理、固定资产管理、应收款管理、应付款管理等。
  • 中国移动智能手机的秘密

    中国移动智能手机的秘密

    《中国移动智能手机的秘密》是一本关于移动终端和移动互联网的科普书。作者将这18年通信行业中的学习、思考、实践积累成《中国移动智能手机的秘密》与大家分享。书本系统总结了手机的发展历史、TD产业界“从2G向3G演进”的移动终端产业分化重组进程、智能手机的使用方法用方法和应用指南,以及对移动互联网发展独特思考。
  • 悟道:一位IT高管20年的职场心经

    悟道:一位IT高管20年的职场心经

    本书是一位有20多年职场经验的IT企业高管撰写的一系列有关职场悟道的短文集成,讲述的是在企业里如何修炼自己,如何摆平自己的心态,怎样做到“世事洞明”和“人情练达”,如何“搞定老板”,怎样做到工作和生活平衡等诸多话题,涉及到跳槽、转行、升迁、环境、沟通、老板、下属、老外等等。每一篇都以作者的亲身经历或者身边的故事说明道理,语言简洁流畅,妙趣横生,更有不少经典片段和发人深省的职场警句,读起来就像是一个睿智幽默的老朋友坐在你面前娓娓道来。
热门推荐
  • 魔后逆袭攻略

    魔后逆袭攻略

    她是一界之主,却被最亲近的人背叛,背后一掌,直接把她打下断魂崖,可惜事与愿违,断魂崖都断送不了她这世间独一的灵魂。再次睁眼,她是玄晶大陆的一个弱小女子,被所有人都认为是废物。她微微勾着嘴角,看着她些嘲笑她的人,呵……废物……她凌颜然根本和这两个字搭不搭边,不过……没关系……她不在意这些俗人的眼光,重活一世……这一次,她必将炼出神格,将那些背叛自己的人打入地狱!可是……在她的变强之路上……那个阴魂不散跟着她的男人是什么鬼?
  • 不朽之命

    不朽之命

    世界太大,宇宙中的秘密太多。各种超自然现象究竟是怎么回事?生命的奥妙到底有多深?进化的极致是什么?人类能得永生吗?进化的尽头,宇宙的终极,一切尽在本书当中。(本书当中涉及的人名都是杜撰而成的切勿带入现实当中,本书的地名部分为杜撰部分为引用,只为代入感强。全文都是本人幻想中的世界,如有雷同纯属巧合,请勿代入现实,谢谢合作)
  • 后宫之升职记

    后宫之升职记

    成就一代女皇变述史,从宮女到女官,到太子妾室,到嫔妃,到皇帝(太君)。
  • 花千骨之情若千古

    花千骨之情若千古

    从妖神开始,山有木兮木有枝,心悦君兮君已知!
  • 神医破界

    神医破界

    hi,大家好,我是单调,纯熟,冷静,执着,阳光,大无畏的我们尚好,第一部玄幻小说,语句十分简练,没有许多修饰(可能是我文学底蕴不够吧),希望大家能来捧个场,谢谢喽,么么哒(* ̄- ̄*)
  • 归来有佳人

    归来有佳人

    他踩着尸体堆成的山,说:“再等等吧,等十里之地皆平安之时,我带你走,去下陈州六百里,去看八百里秦川尘土飞扬,走过十里长桥,去所有你想去的地方,我们也在这乱世之中,偷得幸福。”也不知道是在骗谁,到底谁能等得到谁呢?怕只是这世人眼拙,晚景凄凉。盛世汉服的时代已经过了,乱世旗袍的时代才刚来不久,到底是佳人命薄,还是这乱世太过无情?
  • 獴猿帝国

    獴猿帝国

    洪荒十五年冬的洪荒战役,彻底改变了艾丹西斯大陆的历史,獴猿王朝被北部的人族联军、西部的不死亡灵食尸鬼部落、南部的魔族部落同时进袭,北部边塞罗伦斯城、西部茜瓦要塞、南部町崖要塞相继沦陷,獴猿王朝覆灭;獴猿王朝的獴皇川智下落不明,其三子川琦殿下走向了逃亡之路,逐渐的崛起,即将颠覆整个艾丹西斯大陆!战争、铁血、争霸、复仇即将开始。。。
  • 龙归傲天

    龙归傲天

    一次任务,失去了最爱的人和最亲的兄弟……本以为已失去所有,却发现……自己又踏入了一个更大的阴谋,选择了另一条路,我的世界已经改变,因为……我命由我不由天!
  • TF之相遇

    TF之相遇

    (最后一章尤为重要,务必观看!)《TF之相遇》全面来袭。两姐妹双双遇到了自己最喜欢的人,爱情的火花迸溅。她们运用智慧赶走了情敌。突如其来的女生,扰乱了原本宁静的生活。三角恋关系最后到底怎样了。女主因逃避问题从而隐居国外,究竟原因为何?更多精彩内容,等你来收藏!
  • 星辰似你双眸

    星辰似你双眸

    茫茫人海,浩瀚星空。甚是庆幸,十年之后仍能拥你入怀。