适配器模式也是经常使用的一种模式。尤其在android 中使用特别频繁。适配器就是解决兼容性问题。可以这么理解将两个相互独立的类和接口融合到一起,让他相互协调工作。在百度百科中的解释是:一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
其实在生活也很常见。比如说作为一个开发人员。经常使用eclispe开发工具,但是Eclispe是有版本的。高版本向下兼容。但是低版本不能使用高版本。如果你现在的高版本坏了,只有低版本的,但是想要以前的程序。难道要重写吗?如果有适配器就可以解决。
下面我写一个例子。
//低版本eclispe的接口
packagecom.fish.adapter;
public interface LowEclipseVersion {
public void showLowEclipseVersion();
}
//高版本的eclispe类
packagecom.fish.adapter;
public class HighEclipseVersion {
public void showHighEclipseVersion() {
System.out.println("高版本的eclispe");
}
}
//用适配器来解决版本兼容,实现接口和继承类,这样这个类你就同时拥有这两个对象的属性和方法。
packagecom.fish.adapter;
public class Adapter extends HighEclipseVersion implements LowEclipseVersion{
@Override
public void showLowEclipseVersion() {
this.showHighEclipseVersion();
}
}
//接着写一个测试类
packagecom.fish.adapter;
public class Test {
public static void main(String[] args) {
Adapter adapter=new Adapter();
adapter.showLowEclipseVersion();
}
}
//结果:我用低版本的eclipse已经可以使用
高版本的eclispe
调用低版本的方法,实现的是高版本的类的方法。这就说明了适配器已经起作用了。这就是适配器模式。