使用场景
- 复用现有类的功能。
项目并非都是从零开始,而在我们编程过程中,也不是所有的功能都需要重新去写,复用现有类的功能是最直接有效的途径
- 版本升级与兼容性。
随着版本的迭代升级,旧有的一些功能渐渐无法满足需求,现实中又不能直接摒弃,使用Adapter模式可以轻松的来兼容维护新旧版本
图解适配器模式
程序示例
public class Mp3Player {
public void playMp3() {
System.out.println("开始播放Mp3多媒体文件。。。");
}
}
public interface VedioPlayer {
void play();
}
public class Mp4Player extends Mp3Player implements VedioPlayer {
@Override
public void play() {
playMp3();
System.out.println("开始播放Mp4多媒体文件。。。");
}
}
public class AdapterMain {
public static void main(String[] args){
Mp3Player mp3Player = new Mp3Player();
mp3Player.playMp3();
Mp4Player mp4 = new Mp4Player();
mp4.play();
}
}
执行结果:
播放Mp3多媒体文件。。。
播放Mp3多媒体文件。。。
开始播放Mp4多媒体文件。。。