设计模式之适配器模式

适配器模式

定义:将一个类的接口,转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类,可以一起工作。

作用:将一个接口适配到另一个接口。

已知有一个YoungMan类,随着年龄的增长,他想实现Old接口。但前提是不能改变他和Old接口本身。

public class YoungMan {

    public void age(){
        System.out.println("我的年龄");
    }
}
interface Old {
    public abstract void old();
}

于是定义一个时间转换器,帮助他实现Old接口。

public class TimerAdapter extends YoungMan implements Old{

    public TimerAdapter() {
    
    }
    @Override
    public void old() {
        super.age();
    }

}

测试代码如下:

public class test {

    public static void main(String[] args) {
        YoungMan a = new TimerAdapter();
        ((TimerAdapter) a).old();
    }
}

通过YoungMan的子类实现Old接口,YoungMan类通过多态的方式,父类引用指向子类对象,也间接的实现了Old接口中的方法。

还有一种适配器模式,是通过传入参数的方式,按照上述例子,是将Youngman变成TimerAdapter的内部类,通过构造方法传递进去实现的。这两种适配器模式的本质的相同的。

在java I/O中,用到了许多适配器模式,这几天会一一补充。

原文地址:https://www.cnblogs.com/tonbby/p/9046266.html