设计模式 对象适配器(笔记)

 

public class Voltage220V {
    public int outVoltage220V(){
        int src = 220;
        System.out.println("电压为:" + src);
        return src;
    }
}
public interface Voltage5V {
    int outVoltage5V();
}
public class VoltageAdapter implements Voltage5V {
    private Voltage220V voltage220V;

    public VoltageAdapter(Voltage220V voltage220V) {
        this.voltage220V = voltage220V;
    }

    @Override
    public int outVoltage5V() {
        int src =voltage220V.outVoltage220V();
        //经过适配器处理(类似于充电器将220v电压转为手机需要的电压)
        int des = src/44;
        System.out.println("电压为:" + des);
        return des;
    }
}
public class Phone {
    public boolean charging(Voltage5V voltage5V){
        int voltage = voltage5V.outVoltage5V();
        if (voltage != 5){
            System.out.println("请使用正确的充电头");
            return false;
        }
        System.out.println("正在充电");
        return true;
    }
}
public class Client {
    public static void main(String[] args) {
        //创建手机对象
        Phone phone = new Phone();
        //创建适配器(充电器),将适配者放入(相当于声明要链接的电压,比如民用电220V)
        VoltageAdapter voltageAdapter = new VoltageAdapter(new Voltage220V());
        //放入接口,返回充电结果
        boolean charging = phone.charging(voltageAdapter);
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值