java设计模式(九):适配器模式(类适配器)

需求如下

要想用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;
    }
}

优缺点

猜你喜欢

转载自blog.csdn.net/qq_39046786/article/details/113747254