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. 如果有一天去了美国,供电类改变了:

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

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐