p1
1.类适配器模式
//目标接口,要求适配后的接口
public interface Target{
public void requiredMethod1();
public void requiredMethod2();
}
//被适配的源
public class Adaptee{
public void sourceMethod1(){...};
public void sourceMethod2(){...};
public void sourceMethod3(){...};
}
//其中一个适配器实现
public class Adapter extends Adaptee implements Target{
public void requiredMethod1(){//适配后的实现}
public void requiredMethod2(){//适配后的实现}
}
局限性:适配器Adapter只能适配到一个源,不能适配其子类。
2.对象适配器模式
//目标接口,要求适配后的接口
public interface Target{
public void requiredMethod1();
public void requiredMethod2();
}
//被适配的源
public class Adaptee{
public void sourceMethod1(){...};
public void sourceMethod2(){...};
public void sourceMethod3(){...};
}
//其中一个适配器实现
public class Adapter implements Target{
private Adaptee adaptee ;
public Adapter(Adaptee adaptee){this.adaptee=adaptee};
public void requiredMethod1(){//适配后的实现}
public void requiredMethod2(){//适配后的实现}
}
优越性:解决类适配器的局限性问题。