适配器模式
package ink.yql.adapter;
public class Phone {
public final void recharge(final Integer recharge){
if(recharge != 5){
throw new RuntimeException("电池可能会爆炸");
}
System.out.println("电压是 "+recharge+"手机正在充电");
}
}
package ink.yql.adapter;
public class PowerSupply {
public int discharge(){
return 220;
}
}
package ink.yql.adapter;
public class PhoneAdapter extends Phone{
private PowerSupply power;
public PhoneAdapter(PowerSupply power) {
this.power = power;
}
public int discharge(){
int discharge = power.discharge();
return discharge -210 -5 ;
}
}
测试
package ink.yql.adapter;
public class Test01 {
public static void main(String[] args) {
PowerSupply powerSupply = new PowerSupply();
PhoneAdapter phoneAdapter = new PhoneAdapter(powerSupply);
Phone phone = new Phone();
phone.recharge(phoneAdapter.discharge());
}
}