1. 定义
定义一个包装类,用于包装不兼容接口的对象
将一个类的接口转换成客户希望的另外一个接口
适配器模式的形式分为:类的适配器模式(继承) & 对象的适配器模式(代理) & 缺省适配器模式(抽象类)
2. 应用场景
原本由于接口不兼容而不能一起工作的那些类需要在一起工作
3. 优缺点
优点:
可以让任何两个没有关联的类一起运行
提高了类的复用
增加了类的透明度
灵活性好
缺点:
过多地使用适配器,会让系统非常零乱
由于 java的单继承,至多只能适配一个适配者类,而且目标类必须是抽象类
4. Android源码中的使用:
适配器模式在Android中最常见的使用就是listView,recycleView的Adapter
5. 实例演示
以常见的手机等电子产品的电源适配器为例,手机充电需要5V输入,而我国家用电输出220V,美国则是110V,那么就需要充电器这个适配器了
1. 创建一个供电基类
2. 创建一个供电实现类-中国220V
3. 创建一个适配器基类
3.1. 类适配器模式的实现:类适配器继承原有类,重写其方法
3.2. 使用类适配器
4.1. 对象适配器模式的实现: 对象适配器持有原有类的引用,以此获取所需要的原有类内容,并加以处理
4.2. 使用对象适配器
5. 如果有一天去了美国,供电类改变了:
此时只要创建新的电源适配器即可,而不用对手机类进行修改,例如:
我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章