适配器模式
编辑教程Java设计模式 - 适配器模式
我们在现实生活中使用适配器很多。例如,我们使用存储卡适配器连接存储卡和计算机,因为计算机仅支持一种类型的存储卡,并且我们的卡与计算机不兼容。
适配器是两个不兼容实体之间的转换器。适配器模式是一种结构模式。
在Java设计模式中,适配器模式作为两个不兼容接口之间的桥梁。
通过使用适配器模式,我们可以统一两个不兼容的接口。
例子
首先我们创建一个播放器界面来播放任何时间的媒体文件。
MyPlayer是适配器,它统一了播放媒体文件的接口。
interface Player {
public void play(String type, String fileName);
}
interface AudioPlayer {
public void playAudio(String fileName);
}
interface VideoPlayer {
public void playVideo(String fileName);
}
class MyAudioPlayer implements AudioPlayer {
@Override
public void playAudio(String fileName) {
System.out.println("Playing. Name: "+ fileName);
}
}
class MyVideoPlayer implements VideoPlayer {
@Override
public void playVideo(String fileName) {
System.out.println("Playing. Name: "+ fileName);
}
}
class MyPlayer implements Player {
AudioPlayer audioPlayer = new MyAudioPlayer();
VideoPlayer videoPlayer = new MyVideoPlayer();
public MyPlayer(){
}
@Override
public void play(String audioType, String fileName) {
if(audioType.equalsIgnoreCase("avi")){
videoPlayer.playVideo(fileName);
}else if(audioType.equalsIgnoreCase("mp3")){
audioPlayer.playAudio(fileName);
}
}
}
public class Main{
public static void main(String[] args) {
MyPlayer myPlayer = new MyPlayer();
myPlayer.play("mp3", "h.mp3");
myPlayer.play("avi", "me.avi");
}
}
上面的代码生成以下结果。
Playing.Name:h.mp3
Playing.Name:me.avi
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟