适配器模式:将一个类的接口转换成客户希望看到的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适用场景:使用一个已经存在的类,但如果它的接口,也就是它的方法和你的要求不相同时,就应该考虑用适配器模式。
//Target类,客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口
public class Target
{
public void request()
{
System.out.println("普通请求!");
}
}
//Adaptee类,需要适配的类
public class Adaptee extends Target
{
public void specificRequest()
{
System.out.println("特殊请求!");
}
}
//Adapter类,通过在内部包装一个Adaptee对象,把源接口转换成目标接口
public class Adapter extends Target
{
private Adaptee adaptee = new Adaptee();
public void request()
{
adaptee.specificRequest();
}
}
//客户端代码
public class Main
{
public static void main(String[] args)
{
Target target = new Adapter();
target.request();
}
}