概述:将一个已存在的类/接口进行复用,将其转换/具体化成客户希望的另外的一个类/接口。
适应性:
1.你想使用一个已经存在的类,而它的接口不符合你的需求。
2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口
可能不一定兼容的类)协同工作。
3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行
子类化以匹配它们的接口。对象适配器可以适配它的父类接口。
思路:
将要进行复用的类,放到目标类的构造方法中,进行实例化,然后在目标类的相应方法中,进行调用,修改原来方法
中的参数,或添加相应的逻辑。即复用了已有类的原来方法。
被复用的类Adaptee
public class Adaptee{
public long getPower(long base,long exp){
long result=1;
for(int i=0;i<exp;i++)
result*=base;
return result;
}
}
目标类Target
public interface Target{
public long get2Power(long exp);
}
进行复用的Adapter
public class Adapter implements Target{
private Adaptee pt;
public Adapter(){
pt = new Adaptee();
}
public long get2Power(long exp){
return pt.getPower(2,exp); ---修改原来方法中的参数,
}
}