cover_image

Android设计模式-19-适配器模式

今阳 今阳说
2020年04月15日 00:16

1. 定义

  • 定义一个包装类,用于包装不兼容接口的对象

  • 将一个类的接口转换成客户希望的另外一个接口

  • 适配器模式的形式分为:类的适配器模式(继承) & 对象的适配器模式(代理) & 缺省适配器模式(抽象类)

2. 应用场景

  • 原本由于接口不兼容而不能一起工作的那些类需要在一起工作

3. 优缺点

  • 优点:

  1. 可以让任何两个没有关联的类一起运行

  2. 提高了类的复用

  3. 增加了类的透明度

  4. 灵活性好

  • 缺点:

  1. 过多地使用适配器,会让系统非常零乱

  2. 由于 java的单继承,至多只能适配一个适配者类,而且目标类必须是抽象类

4. Android源码中的使用:

适配器模式在Android中最常见的使用就是listView,recycleView的Adapter

5. 实例演示

以常见的手机等电子产品的电源适配器为例,手机充电需要5V输入,而我国家用电输出220V,美国则是110V,那么就需要充电器这个适配器了

1. 创建一个供电基类

图片

2. 创建一个供电实现类-中国220V

图片

3. 创建一个适配器基类

图片

3.1. 类适配器模式的实现:类适配器继承原有类,重写其方法

图片

3.2. 使用类适配器

图片

4.1. 对象适配器模式的实现: 对象适配器持有原有类的引用,以此获取所需要的原有类内容,并加以处理

图片

4.2. 使用对象适配器

图片

5. 如果有一天去了美国,供电类改变了:

图片

此时只要创建新的电源适配器即可,而不用对手机类进行修改,例如:

图片

继续滑动看下一个
今阳说
向上滑动看下一个