adapter!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adapter!相关的知识,希望对你有一定的参考价值。


1.何谓适配器?

    变压器实际就是适配器。

    将一个接口转换成客户需要的接口。将一个接口中的功能扩展到另一个类中。(其中接口类不仅仅指那interface,这个是狭隘的);使接口类由于接口不兼容而不能一起工作的一起工作。

2.适配器分类

    多功能适配器:就是创建了一个Iworker 接口,并通过该接口连接到workHandler中找到合适的方法调用。

    单功能适配器:其则是通过一个Iwork接口,并通过该接口连接到合适的适配器,在通过适配器调用方法。

    这两个适配器中单功能适配器为重点。因为spring框架中就用的单功能适配器。

 缺省适配器设计模式
    当一个接口中具有大量抽象方法时,若一个类只需要使用其中的一小部分方法,其它方法并不需要访问,那么会出现一个问题:
需要定义的这个类(实现了该接口)必须要实现这个接口中的所有方法。而这些方法中由于大多数方法并不需要访问,所以采用空实现的方式来实现(只有一对大括号,没有真正的方法体内容)。这是比较麻烦的。此时可以定义一个一般性的类,让这个类空实现所有方法。当然,也可只空实现不使用的方法,让真正要使用的方法以抽象方法的形式出现。这样,以后再定义该接口的实现类,就不需要直接实现这个接口,而是继承这个一般性的类,重写所要真正访问的方法即可。
这种程序结构,称为缺省适配器设计模式。

3.什么是单功能适配器?

public class Test 
public static void main(String[] args)
Icooker cooker = new Cooker();
Iprogramn programmer = new programer();
Iteacher teacher = new teacherimple();

Object[] workers = cooker, programmer,teacher;

for (Object worker : workers)
Iwork adapter = getAdapter(worker);
adapter.work(worker);





// 根据worker的具体类型查找与其相匹配的适配器
private static Iwork getAdapter(Object worker)
Iwork ca = new cookerAdapter();
Iwork pa = new programerAdapter();
Iwork ta = new teacherAdapter();

Iwork[] adapters = ca, pa, ta;

for (Iwork adapter : adapters)
if(adapter.support(worker))
return adapter;


return null;

//以下是创建的一个cookerAdapter
public class cookerAdapter implements Iwork

@Override
public void work(Object worker)
System.out.println(((Icooker) worker).cooker());;



@Override
public boolean support(Object worker)
return worker instanceof Icooker;

4.什么是多功能适配器?


    多功能适配器就是将多个接口多实现类的方法;

    然后由一个多能 功能适配器接口把这些接口到另一个接口 ,最终在测试里面去遍历;

5.多功能适配器代码展示

    

adapter!_ico

adapter!_抽象方法_02

adapter!_ico_03

以上是关于adapter!的主要内容,如果未能解决你的问题,请参考以下文章

IBM Mobilefirst Java HTTP Adapter 中的多部分文件上传

Adaptive AutoSAR 标准介绍

string 获取最后一部分 android 文件下载recycleview item和progressbar RecyclerView.Adapter生命周期 如何取消ctrl+shift加a

Android应用开发基础--Adapter

Adapt适配器

Adapt to 与adjust to有啥区别?