JAVA转换器模式 Type-C转耳机口
实例:现在我们很多手机没有了耳机的插孔,只留下了type-c的插口,如果我们想使用有线耳机的话就要买一个Type-C转耳机口的转换器。
耳机口:目标(Target),目标接口,也就是我们期待得到的接口
手机typec:适配者(Adaptee),当前拥有的接口,需要适配,已满足客户端的要求。
typec转换器:适配器(Adapter),适配器类,适配器模式的核心,就是将Adaptee转换成需要的接口的具体类
//有一个耳机可以放音乐
public interface Headset {
String music();
}
//有一个手机类,有一个typec接口默认可以充电
public class Phone {
public String throwTypec(){
System.out.println("使用了typec接口");
return "充电";
}
}
//现在买了一个转换器可以让有线耳机链接手机
public class Converter implements Headset {
private Phone phone;
public Converter(Phone phone){
this.phone = phone;
}
@Override
public String music() {
String s = phone.throwTypec();
System.out.println(String.format("%s -------------- > %s",s,"听歌"));
return "听歌";
}
}
//用户使用转接器
public class Client {
public static void main(String[] args) {
Phone phone = new Phone();
Headset headset = new Converter(phone);
headset.music();
}
}
输出:
使用了typec接口
充电 -------------- > 听歌