首页 > 其他 > 详细

设计模式之适配器模式

时间:2019-02-25 23:40:57      阅读:156      评论:0      收藏:0      [点我收藏+]

适配器相当于一种中间件,转换器。

举个例子,当我们的电脑想再连接一个显示屏,但显示屏只有一个VGA口和VGA线,而我们的电脑只有一个HDMI口,那我们就需要一条HDMI转VGA的转换线来连接。

适配器模式有两种:类适配器、对象适配器,接口适配器

1、类适配器模式:

原理:通过继承来实现适配器功能。

当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要实现我们访问的接口A,这样我们就能继续访问当前接口A中的方法,然后再继承接口B的实现类BB,这样我们可以在适配器P中访问接口B的方法了,这时我们在适配器P中的接口A方法中直接引用BB中的合适方法。

2、对象适配器模式:

原理:通过组合来实现适配器功能

当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要实现我们访问的接口A,这样我们就能继续访问当前接口A中的方法,然后在适配器P中定义私有变量b(对象)(B接口类型的变量),再定义一个带参数的构造器用来为对象b赋值,再在A接口的方法实现中使用对象b调用其来源于B接口的方法。

3、接口适配器模式:

原理:通过抽象类来实现适配

当存在这样一个接口,其中定义了N多的方法,而我们现在却只想使用其中的一个到几个方法,如果我们直接实现接口,那么我们要对所有的方法进行实现,哪怕我们仅仅是对不需要的方法进行置空,也会导致这个类变得臃肿,调用也不方便,这时我们可以使用一个抽象类作为中间件,即适配器,用这个抽象类实现接口,而在抽象类中所有的方法都进行置空,那么我们在创建抽象类的继承类,而且重写我们需要使用的那几个方法即可。

设计模式之适配器模式

原文:https://www.cnblogs.com/one-apple-pie/p/10434525.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!