适配器模式
什么是适配器?
答:电源适配器,它是用于电流变换(整流)的设备。适配器的存在,就是为了将已存在的东西(接口)转换成适合我们的需要、能被我们所利用。在现实生活中,适配器更多的是作为一个中间层来实现这种转换作用。说的再通俗一点,就好比两个不同国家的人做生意,双方由于语言做生意的规则等不同,需要一个中间人物给协调,此时的中间人就好比是适配器。
适配器的应用,比如一个接口里面定义了一些方法,一个需要被适配的类有某些特殊的方法,要综合二者当中的方法就必须有一个类来协调,这个类就是适配器类,适配器类继承需要被适配的类同时实现接口,案例如下:
// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类
class Adaptee {
public void specificRequest() { System.out.println("被适配类具有 特殊功能..."); } }
// 目标接口,或称为标准接口
interface Target {
public void request(); }// 具体目标类,只提供普通功能
class ConcreteTarget implements Target {
public void request() { System.out.println("普通类 具有 普通功能..."); } }
// 适配器类,继承了被适配类,同时实现标准接口
class Adapter extends Adaptee implements Target{
public void request() {
super.specificRequest(); } }
// 测试类
public class Client {
public static void main(String[] args) { // 使用普通功能类 Target concreteTarget = new ConcreteTarget(); concreteTarget.request(); // 使用特殊功能类,即适配类 Target adapter = new Adapter(); adapter.request(); } }
测试结果:
普通类 具有 普通功能... 被适配类具有 特殊功能...