模式介绍
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,它结合了两个独立接口的功能。举个例子,读卡器是作为内存卡和笔记本之间的适配器。
使用场景
1、系统需要使用现有的类,而此类的接口不符合系统的需要。
2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。
系统实现
/**
* 播放视频顶级接口
*/
public interface VideoPlayer {
public void playVideo();
public void playAudio();
}
/**
* MP4实体类
*/
public class MP4Player implements VideoPlayer {
@Override
public void playVideo(){
System.out.println("播放视频!");
}
@Override
public void playAudio(){
System.out.println("播放音频!");
}
}
/**
* 适配器类
*/
public class MP4Adapter {
private VideoPlayer videoPlayer = new MP4Player();
public void playVideo(){
videoPlayer.playVideo();
}
}
/**
* 播放音频顶级接口
*/
public interface AudioPlayer {
public void playAudio();
}
/**
* MP3实体类,拥有播放视频适配器类
*/
public class MP3Player implements AudioPlayer {
private MP4Adapter mp4Adapter = new MP4Adapter();
@Override
public void playAudio(){
System.out.println("播放音频!");
}
public void playVideo(){
mp4Adapter.playVideo();
}
}
/**
* 客户端
*/
public class Client {
public static void main(String args[]){
MP3Player mp3 = new MP3Player();
mp3.playAudio();
mp3.playVideo();
}
}
结果:
播放音频!
播放视频!