设计模式之适配器模式
定义
适配器模式:将一个类的接口变换成客户端所需要的另外一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。UML类图
- IAdapter:适配器接口
- AdapterImpl:适配器接口的实现
- Adaptee:需要适配的类
具体实现代码:
//客户端调用
public class Adapter {
public static void main(String[] args) {
AdapteeTxt txt = new AdapteeTxt();
IAdapter adapter = new AdapterImpl(txt);
adapter.generatorLog("this is test");
}
}
//适配器接口
interface IAdapter{
public void generatorLog(String text);
}
//适配器实现类
class AdapterImpl implements IAdapter{
AdapteeTxt txt = null;
public AdapterImpl(AdapteeTxt txt) {
this.txt = txt;
}
@Override
public void generatorLog(String text) {
// TODO Auto-generated method stub
txt.generatroTxtLog(text);
}
}
//需要适配的接口
class AdapteeTxt{
public void generatroTxtLog(String text) {
System.out.println("txt log");
}
}
适配器模式的作用就是:已经完全实现的两个类A、B,他们有联系又有冲突,有联系就是一个类A要调用到另外一个类B的方法名b,有冲突就是类A 需要想要调用的方法名不是b而是c,那这个时候就需要改类A或者类B,但是写类A、类B的程序员又不愿意改,都说“需要改动的地方太多了,不想改”,那这个时候就需要用到适配器模式,我们就创建一个类C写一个方法使类A需要的方法c,然后在方法c里面去调用类B的方法b,这就是适配器模式。