1.类适配器模式
//目标类
public interface Target {
void request();
}
//适配者类
public class Adaptee {
public void name(){
System.out.println("类适配器,我是被适配了");
}
}
//适配器类
public class Adapter extends Adaptee implements Target {
@Override
public void request() {
super.name();
}
}
2.对象适配器模式
public interface Target1 {
void request();
}
public class Adaptee1 {
public void name(){
System.out.println("对象适配器,我是被适配了");
}
}
public class Adapter1 implements Target1{
Adaptee1 adaptee1; //适配器和适配者之间的关系是组合模式
public Adapter1(Adaptee1 adaptee1){
this.adaptee1=adaptee1;
}
@Override
public void request() {
adaptee1.name();
}
}
测试
package adapterMode;
public class Client {
public static void main(String[] args) {
System.out.println("------类适配器-----------");
Target target=new Adapter();
target.request();
System.out.println("--------对象适配器------");
Adaptee1 adaptee1=new Adaptee1();
Target1 target1=new Adapter1(adaptee1);
target1.request();
}
}