适配器模式 35mm接口以及25mm接口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/hjiS 著作权归作者所有。请勿转载和采集!