需求如下
要想用5v的直流电,但是我们只有220v的充电器,这里就需要增加一个适配器,将220v电压转化为5v。
思路如下
这里适配器类继承了被适配类。得到了他的属性值220v,然后将220v转化为5v,最后手机得到的电压为5v。
代码如下
Client
package Adapter;
public class Client {
public static void main(String[] args) {
Phone phone = new Phone();
phone.charging(new VoltageAdapter());
}
}
Phone
package Adapter;
public class Phone {
public void charging(Valtage5V valtage5V){
if (valtage5V.OutPut5V()==5){
System.out.println("电压为5v可以充电");
}else {
System.out.println("不可以充电");
}
}
}
Valtage5V
package Adapter;
public interface Valtage5V {
int OutPut5V();
}
Valtage220V
package Adapter;
public class Valtage220V {
public int OutPut(){
int src = 220;
System.out.println("电压为220v");
return src;
}
}
VoltageAdapter
package Adapter;
public class VoltageAdapter extends Valtage220V implements Valtage5V {
@Override
public int OutPut5V() {
int voltage = OutPut()/44;
return voltage;
}
}
优缺点