用例子来弄懂Adapter

适配器模式原理

极客学院视频网址 http://www.jikexueyuan.com/course/1335_4.html?ss=1

理解

1.插头与插座

每个国家的插头适配对应的插座,但是每个国家的插头都不同,我们去旅行的时候需要充电,搜一我们需要一个转换器,一面能插入外国的插座,一面能为我国插头提供叉口

2.点烟器转为USB接口,用于手机充电

原理

1.用火鸡冒充鸭子

对外界人看来是一只鸭子,继承自duck接口,对外形象是一只鸭子的实现。但是是调用了火鸡的方法和内容,功能和作用都是火鸡的。

我们想让一只鸭子 展现出 火鸡的特征

对外形象是一只鸭子,但是有火鸡的叫声,飞行距离

这是对象适配器方法

1.Duck.java

  • 定义方法

2.GreenDuck.java

  • implement Dack 实现方法

3.Turkey.java

  • 定义方法

4.WildTurkey.java

  • implement Turkey 实现方法

5.TurkeyAdapter.java

  • 对外展现为鸭子形象,所以实现的是 鸭子的接口
  • 对外展现为火鸡的功能,所以传入 火鸡的对象

6.MainTest.java(测试)

7.运行呈现

意义

1.将一个类的接口转换为另一种接口,让原本接口不兼容的类可以兼容

2.用户看不到被适配者,看不到适配器之后的东西,解藕

3.用户调用适配器转化出来的目标接口方法(直接将国标插头插入适配器中进行使用,无需知道转换器后面是哪一个国家的插口)

4.适配器再调用被适配者的相关接口和方法

对象适配器与类适配器

多重继承

继承 目标接口部分 达到适配目的(使对外呈现鸭子的形象)

继承 被适配者类的部分 通过调用 被适配者类里面的方法来实现接口的功能(使鸭子具有火鸡的功能)

对象是适配器 --组合方法

上面的火鸡例子

类适配器--继承方法

通过多重继承 目标接口 和 被适配的类方法 来实现适配

因为类适配器 既 extend 又 implement ,所以在main 里面与 对象适配器的写法有所不同

(只飞了3次)

从枚举器到迭代器的适配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值