适配器模式分为类适配器和对象适配器
adapter.png一、对象适配器
概述:采用对象组合方式实现,在适配器标准接口中创建需要适配的类对象,持有该对象,在构造函数中传入此对象,后期调用
/**
* 指定适配类
* @author Ticker
*
*/
public class Adaptee {
public void specificeReques(){
System.out.println("特殊适配");
}
}
/**
* 要求接口
* @author Ticker
*
*/
public interface Target {
void requst();
}
/**
* 目标适配器
* @author Ticker
*
*/
public class Adapter implements Target{
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
super();
this.adaptee = adaptee;
}
@Override
public void requst() {
adaptee.specificeReques();
}
}
public class Main {
/** 主类调用
* @param args
*/
public static void main(String[] args) {
Adapter adapter = new Adapter(new Adaptee());
adapter.requst();
}
}
二、类适配器(采用继承模式)
概述:继承adaptee类,实现目标接口,相对于对象适配,类的适配更加简单
/**
* 目标适配器
* @author Ticker
*
*/
public class Adapter extends Adaptee implements Target{
@Override
public void requst() {
specificeReques();
}
}
优点:
1、将目标类和适配者类解耦
2、通过引入一个适配器类重用现有的适配者类,而无需修改原有代码,更好的扩展性
网友评论