适配器模式

Posted bockpecehhe

tags:

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

  适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

  类的适配器模式把适配的类的API转换成为目标类的API。

  ●  目标(Target)角色:这就是所期待得到的接口。 sampleOperator1()

  ●  源(Adapee)角色:现在需要适配的接口。          sampleOperator2()

  ●  适配器(Adaper)角色:适配器类是本模式的核心。适配器把源接口转换成目标接口。显然,这一角色不可以是接口,而必须是具体类。 sampleOperator1() sampleOperator2()  适配器包含二个目的的交集

  此时有2种方式来创建:

       ① 我们使用继承+实现   适配器继承Adapee实现Target,那么适配器属于Adapee类且可以实现目标所期待的方法

       ② 我们使用在适配器中增加 Adapee对象类传递

Target接口

public interface Target {
    /*
    此时Target接口需要传入Adaptee的sampleOperator2()方法  需要把sampleOperator2()转化为sampleOperator1()
     */

    //这是Adaptee有的方法
    public void sampleOperator1();
    //这是Adaptee没有的方法
    public void sampleOperator2();

}

Adapee类

public class Adaptee {
    public void sampleOperator1(){
        System.out.println("this is Adaptee sampleOperator1 method..");
    }
}

① :

public class Adapter extends Adaptee implements Target {
    @Override
    public void sampleOperator2() {
    }
}

② :   

public class Adapter1 {

    private Adaptee adaptee;

    public Adapter1(Adaptee adaptee){
        this.adaptee=adaptee;
    }

    public Adaptee getAdaptee() {
        return adaptee;
    }

    public void setAdaptee(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    public void sampleOperator2(){
        System.out.println("this is sampleOperator2 method..");
    }
}

 

以上是关于适配器模式的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从片段适配器启动活动

片段中ListView的android自定义适配器

设计模式之单例模式

片段内带有基本适配器的列表视图

片段中gridview的Android文本和图像适配器