JAVA适配器模式-案例

Java适配器模式

//定义转换接口
public interface PowerConverter {  
    int convert(int power);  
}
//定义适配器实现类
public class PowerAdapter implements PowerConverter {  
    private int inputVoltage;  
    private int outputVoltage;  
      
    public PowerAdapter(int inputVoltage, int outputVoltage) {  
        this.inputVoltage = inputVoltage;  
        this.outputVoltage = outputVoltage;  
    }  
      
    @Override  
    public int convert(int power) {  
        return power / inputVoltage * outputVoltage;  
    }  
}
//定义需要适配器的设备类
public class Device {  
    private PowerConverter powerConverter;  
      
    public Device(PowerConverter powerConverter) {  
        this.powerConverter = powerConverter;  
    }  
      
    public void setPowerConverter(PowerConverter powerConverter) {  
        this.powerConverter = powerConverter;  
    }  
      
    public void turnOn() {  
        int power = 1000; // example power requirement for the device  
        int convertedPower = powerConverter.convert(power);  
        // use the converted power to operate the device  
    }  
}
//创建一个Device实例,并将一个PowerAdapter实例传递给它的构造函数。这样,适配器就可以在Device实例需要电源转换时进行转换
public class Main {  
    public static void main(String[] args) {  
        PowerAdapter adapter = new PowerAdapter(110, 220); // converts 110V to 220V  
        Device device = new Device(adapter); // uses the adapter as a PowerConverter  
        device.turnOn(); // uses the converted power to operate the device  
    }  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThinkPet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值