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); } }