一、适配器模式
将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容
二、示例
1.显示生活中适配器的例子
生活中的适配器:充电器转接头,假如买了一个港版或者美版的手机,但是自带的充电器在国内是不能用的,因此需要在自带的充电头上再接一个转接头,这样就可以在国内的插排上使用。那么这个转接头就属于充电头的适配器。
2.项目模拟:一只火鸡不小心混进的鸭群当中,为了不让它被发现,必须对鸭子的行为进行适配
1).定义鸭子的通用方法
1 | /** |
2).定义鸭子种类
1 | /** |
3).定义火鸡通用的接口方法
1 | /** |
4).定义火鸡种类
1 | /** |
5).火鸡对鸭子进行适配,模仿鸭子的行为方法
1 |
|
6).通过适配器,则这只火鸡就可以模仿鸭子的行为变成一只鸭子
1 | /** |
三、类适配器
- 适配器分为:
- 对象适配器
- 类适配器
- 以上例子中的适配器实现方式为对象适配器,即在适配器中定义对象的方式进行适配
- 类适配器:通过多重继承目标接口和被适配者类方式来实现适配。其中继承的目标接口部分达到适配目的,而继承被适配者类的部分达到通过调用被适配者类里的方法来实现目标接口的功能
1 | /** |
- 对象适配器和类适配器使用了不同的方法实现适配,对象适配器使用组合,类适 配器使用继承
四、总结
- 1.从用户的角度看不到被适配者,是解耦的
- 2.用户直接调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法
- 3.适配器实现了用户收到反馈结果,感觉只是和目标接口交互
Java设计模式所有示例代码,持续更新中