需求如下
思路如下
代码如下
Client
package Adapter2;
public class Client {
public static void main(String[] args) {
Phone phone = new Phone();
phone.charging(new VoltageAdapter(new Valtage220V()));
}
}
Phone
package Adapter2;
public class Phone {
public void charging(Valtage5V valtage5V){
if (valtage5V.OutPut5V()==5){
System.out.println("电压为5v可以充电");
}else {
System.out.println("不可以充电");
}
}
}
Valtage5V
package Adapter2;
public interface Valtage5V {
int OutPut5V();
}
Valtage220V
package Adapter2;
public class Valtage220V {
public int OutPut(){
int src = 220;
System.out.println("电压为220v");
return src;
}
}
VoltageAdapter
package Adapter2;
public class VoltageAdapter implements Valtage5V {
private Valtage220V valtage220V;
VoltageAdapter(Valtage220V valtage220V){
this.valtage220V = valtage220V;
}
@Override
public int OutPut5V() {
int voltage = valtage220V.OutPut()/44;
return voltage;
}
}
优缺点