继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

设计模式面试必看之Adapter模式

小强聊架构
关注TA
已关注
手记 40
粉丝 9452
获赞 241

我们平常设计和编码的时候,经常会想到设计模式,但是怎么把设计模式用好,是个难点,下面作者用一系列文章来讲解下设计模式的用法。本节讲解:Adapter模式

适用场景:

将两个不相关的类组合在一起使用,需要用到Adapter模式。一个是Adaptee,一个是Adapter。

实际上,两个不相关的类想要组合在一起使用,

可以修改类的接口, 但是,如果我们不想修改接口,或者根本没有源代码,就需要使用Adapter模式。

实现方法:

有两种方法,组合composition 和 继承inheritance。

实现举例:

  1. 有两个类 Square和Round,如果想要同时使用两个类,就可以新创建一个Adapter类:

https://img4.mukewang.com/5b17e8ba0001b40c06190271.jpg

上图可见,DrawAdapter继承Round, 同时在DrawAdapter类里面定义了变量square,和构造函数。通过初始化这个Adapter对象,就可以同时画圆和方形,因为DrawAdapter同时还重载了drawRound方法。

2. 如果想要两边继承:


https://img2.mukewang.com/5b17e8d40001753106050388.jpg


上图说明,定义两个接口IRound 和ISquare,这样DrawAdapter就可以通过同时实现两个接口来将两个类组合起来使用。

同时在Adapter类里面定义两个构造函数,一个是Square,一个是Round。

以上,就是适配器Adapter模式。

打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP