您的位置:首页 > 编程语言 > Java开发

Java设计模式之适配器模式

2016-05-14 09:38 429 查看

适配器模式

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

注:适配器模式在后续Android课程中用到的地方非常之多,务必学懂!



我们可以从一个电源接口适配器的例子中加深理解

定义两个电源接口和其相应子类, 不过他们的内部方法不同!

interface PowerB{
public void insert();
}
interface PowerA{
public void connect();
}
class PowerAImpl implements PowerA{
public void connect(){
System.out.println("电源A接口开始工作");
}
}
class PowerBImpl implements PowerB{
public void insert(){
System.out.println("电源B接口开始工作");
}
}


适配器的核心代码如下

//可以适配电源A的适配器
class PowerAdapter implements PowerA{
private PowerB b;

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

public void connect(){
b.insert();
}
}


测试类

//针对方法不兼容的情况!!!
public class Test{
public static void main(String[] arg0){
PowerA a = new PowerAImpl();
input(a);

PowerB b = new PowerBImpl();

//input(b);//不能直接用,因input方法只能接收PowerA接口
PowerAdapter adapter = new PowerAdapter(b);
input(adapter);
}
public static void input(PowerA a){
a.connect();
}

}


运行结果:



代码说明: 测试类中的input方法只能适用于PowerA, 所以我们需要写一个适配器PowerAdapter用来继承PowerA, 在该适配器中接收PowerB的对象然后做相应的转换来适配PowerA!

以上纯属个人见解, 如有不足之处希望有高人指出, 定感激不尽, 如有喜欢交流学习经验请给我留言谢谢.

原创文章, 转载请注明出处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 设计模式