简介
将类的接口转换成另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
角色分析
目标(Target)接口:前系统业务所期待的接口,它可以是抽象类或接口。
适配者(Adaptee)类:被访问和适配的现存组件库中的组件接口。
适配器(Adapter)类:转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。
代码实现
//目标接口
public interface Target
{
public void way();
}
//适配者接口
class Adapte
{
public void wayAdapte()
{
System.out.println("Adapte调用!");
}
}
//类适配器类
class ClassAdapter extends Adapte implements Target
{
public void way()
{
wayAdapte();
}
}
//对象适配器类
class ObjectAdapter implements Target
{
@Autowired
private Adapte adapte;
public void way()
{
adapte.wayAdapte();
}
}
//测试
public class App
{
public static void main(String[] args)
{
//类适配器测试
Target classTarget = new ClassAdapter();
classTarget.way();
//对象适配器测试
Adapte adapte = new Adapte();
Target ObjectTarget = new ObjectAdapter(adapte);
ObjectTarget.way();
}
}