适配器设计模式

来源:互联网 发布:网龙网络 编辑:程序博客网 时间:2024/06/06 03:13

有些内容还是挺巧妙的,需要更多的实例去理解,掌握,应用。加油!

适配器模式(Adapter):将一个类的接口转换转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

例如生活中的电源适配器,转接口。

再如在安卓开发中,经常使用ListView控件,它其中一条条的Item数据是怎么给到这一个个Item中的控件当中呢?这就需要适配器。


例如我们定义接口PowerA,PowerB,并且有两个类分别实现了这两个接口中的方法。


interface PowerA {

public void connect();

}


class PowerAImple implements PowerA {

public void connect() {

System.out.println("电源A接口开始工作);

}

}

interface PowerB {public void insert();}

class PowerBImpl implements PowerB {
public void insert() {System.out.println("电源B开始工作");}

}

在另外的一个类中的Input方法中,执行a的connect()方法

public class Test {

public static void main(String[] args) {

PowerA a = new PowerAImpl();

input(a);

PowerB b = new PowerBImpl() ;

insert(b);

}

public static void input(PowerA a) {

a.connect();

}

}


现在要把b当做A用,可以适配电源A适配器,适配器分为对外和对内,对外它要给A使用,对内它要能调用B

class PowerAdapter implements PowerA {

private PowerB b;

public PowerAdapter(PowerB b){this.b = b;}

public void connect() {

b.insert();

}

}

Test类中本来不可以使用input(b)来调用B的方法,但是通过适配器就可以了

PowerAdapter adapter = new PowerAdapter(b);

input(adapter);

对应安卓开发对ListView设置适配器

获取ListView控件,实例化一个数据适配器,最后listView.setAdapter(数据适配器对象);

0 0
原创粉丝点击