适配器模式:耳机接口转换 (3.5mm, 2.5mm, USB Type-C, Lighting)
适配器模式:耳机接口转换 (3.5mm, 2.5mm, USB Type-C, Lighting)
本文将介绍适配器模式在耳机接口转换中的应用。我们将通过 Java 代码示例展示如何使用类模式和对象模式实现 3.5mm, 2.5mm, USB Type-C 和 Lighting 接口的转换。
类模式
- 创建一个接口类,定义耳机接口的标准方法。
public interface HeadphoneInterface {
void playMusic();
}
- 创建两个类,分别表示 3.5mm 接口和 2.5mm 接口的耳机,实现接口类中的方法。
public class Headphone3_5mm implements HeadphoneInterface {
@Override
public void playMusic() {
System.out.println('使用 3.5mm 接口的耳机播放音乐');
}
}
public class Headphone2_5mm implements HeadphoneInterface {
@Override
public void playMusic() {
System.out.println('使用 2.5mm 接口的耳机播放音乐');
}
}
- 创建一个适配器类,实现接口类,将 USB Type-C 接口转换为 3.5mm 接口,实现适配器方法。
public class TypeCto3_5mmAdapter implements HeadphoneInterface {
private TypeCHeadphone typeCHeadphone;
public TypeCto3_5mmAdapter(TypeCHeadphone typeCHeadphone) {
this.typeCHeadphone = typeCHeadphone;
}
@Override
public void playMusic() {
typeCHeadphone.playMusicViaTypeC();
}
}
- 创建一个类,表示 USB Type-C 接口的耳机,实现自己的方法。
public class TypeCHeadphone {
public void playMusicViaTypeC() {
System.out.println('使用 USB Type-C 接口的耳机播放音乐');
}
}
- 创建一个类,表示 Lighting 接口的耳机,实现接口类中的方法。
public class LightingHeadphone implements HeadphoneInterface {
@Override
public void playMusic() {
System.out.println('使用 Lighting 接口的耳机播放音乐');
}
}
- 在客户端代码中,实例化各个类,将耳机接口进行转换。
public class Client {
public static void main(String[] args) {
HeadphoneInterface headphone1 = new Headphone3_5mm();
headphone1.playMusic();
HeadphoneInterface headphone2 = new Headphone2_5mm();
headphone2.playMusic();
TypeCHeadphone typeCHeadphone = new TypeCHeadphone();
HeadphoneInterface headphone3 = new TypeCto3_5mmAdapter(typeCHeadphone);
headphone3.playMusic();
HeadphoneInterface headphone4 = new LightingHeadphone();
headphone4.playMusic();
}
}
对象模式
- 创建一个接口类,定义耳机接口的标准方法。
public interface HeadphoneInterface {
void playMusic();
}
- 创建两个类,分别表示 3.5mm 接口和 2.5mm 接口的耳机,实现接口类中的方法。
public class Headphone3_5mm implements HeadphoneInterface {
@Override
public void playMusic() {
System.out.println('使用 3.5mm 接口的耳机播放音乐');
}
}
public class Headphone2_5mm implements HeadphoneInterface {
@Override
public void playMusic() {
System.out.println('使用 2.5mm 接口的耳机播放音乐');
}
}
- 创建一个适配器类,实现接口类,将 USB Type-C 接口转换为 3.5mm 接口,实现适配器方法。
public class TypeCto3_5mmAdapter implements HeadphoneInterface {
private TypeCHeadphone typeCHeadphone;
public TypeCto3_5mmAdapter(TypeCHeadphone typeCHeadphone) {
this.typeCHeadphone = typeCHeadphone;
}
@Override
public void playMusic() {
typeCHeadphone.playMusicViaTypeC();
}
}
- 创建一个类,表示 USB Type-C 接口的耳机,实现自己的方法。
public class TypeCHeadphone {
public void playMusicViaTypeC() {
System.out.println('使用 USB Type-C 接口的耳机播放音乐');
}
}
- 创建一个类,表示 Lighting 接口的耳机,实现接口类中的方法。
public class LightingHeadphone implements HeadphoneInterface {
@Override
public void playMusic() {
System.out.println('使用 Lighting 接口的耳机播放音乐');
}
}
- 在客户端代码中,实例化各个类,将耳机接口进行转换。
public class Client {
public static void main(String[] args) {
HeadphoneInterface headphone1 = new Headphone3_5mm();
headphone1.playMusic();
HeadphoneInterface headphone2 = new Headphone2_5mm();
headphone2.playMusic();
TypeCHeadphone typeCHeadphone = new TypeCHeadphone();
HeadphoneInterface headphone3 = new TypeCto3_5mmAdapter(typeCHeadphone);
headphone3.playMusic();
HeadphoneInterface headphone4 = new LightingHeadphone();
headphone4.playMusic();
}
}
总结:
适配器模式是一种常用的设计模式,它允许将不同的接口转换为统一的接口,从而实现不同对象之间的协作。本文展示了在耳机接口转换场景中如何使用类模式和对象模式实现适配器模式。
原文地址: https://www.cveoy.top/t/topic/f0F3 著作权归作者所有。请勿转载和采集!