适配器又称包装器(Wrapper),它将一个接口转换成用户希望的另外一个接口,使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。如果碰到两个没有关系的类组合在一起使用的问题,就应使用Adapter,
在这两种接口间创建一个混合接口。
interface Target{ void method1();//这是Adaptee有的方法 void method2();//这是Adaptee没有的方法}
class Adaptee{ public void method1(){}}
public class Adapter implements Target{ private Adaptee adaptee; public Adapter(Adaptee adaptee){ this.adaptee = adaptee; } //直接调用Adaptee的方法,没有必要重新写method1()的代码,这就是好处 public void method1(){ adaptee.method1(); } public void method2(){ //再此加入补充的方法的实现代码 }}
通过Adapter,我们就可以使用Adaptee的接口,同时又可以扩展新的接口。