赞
踩
/** * @Author:lpj * @name:IVoltage5V * @Date:2023/7/21 17:07 * @describe: 5V直流电 */ public interface IVoltage5V { public int output5V(); } /** * @Author:lpj * @name:Voltage220V * @Date:2023/7/21 17:11 * @describe:220交流电 */ public class Voltage220V { public int output220V(){ int src = 220; return src; } } /** * @Author:lpj * @name:VoltageAdapter * @Date:2023/7/21 17:13 * @describe: 类适配器 * 对象适配器 使用组合 吧 220V 组合到适配器中, 节省掉一个继承 */ public class VoltageAdapter extends Voltage220V implements IVoltage5V { @Override public int output5V() { int i = output220V(); int r = i/44; return r; } } /** * @Author:lpj * @name:Phone * @Date:2023/7/21 17:08 * @describe: */ public class Phone { public void charging(IVoltage5V iVoltage5V){ if (iVoltage5V.output5V()==5){ System.out.println("可以充电"); }else if (iVoltage5V.output5V() >5){ System.out.println("电压大于5,不能充电"); } } } /** * @Author:lpj * @name:Client * @Date:2024/1/22 10:32 * @describe: */ public class Client { public static void main(String[] args) { VoltageAdapter adapter = new VoltageAdapter(); Phone phone = new Phone(); phone.charging(adapter); } }
类图分析:
代码示例:
/** * @Author:lpj * @name:VoltageAdapter * @Date:2023/7/21 17:13 * @describe: 类适配器 * 对象适配器 使用组合 吧 220V 组合到适配器中, 节省掉一个继承 */ public class VoltageAdapter implements IVoltage5V { private Voltage220V voltage220V; public VoltageAdapter(Voltage220V voltage220V){ this.voltage220V = voltage220V; } @Override public int output5V() { int i = voltage220V.output220V(); int r = i/44; return r; } } public class Client { public static void main(String[] args) { VoltageAdapter adapter = new VoltageAdapter(new Voltage220V()); Phone phone = new Phone(); phone.charging(adapter); } }
类图说明:
代码实现:
public interface Interface4 { public void m1(); public void m2(); public void m3(); public void m4(); } public abstract class AbsAdapter implements Interface4{ @Override public void m1() { } @Override public void m2() { } @Override public void m3() { } @Override public void m4() { } } public class Client { public static void main(String[] args) { AbsAdapter absAdapter = new AbsAdapter() { //覆盖需要使用的接口方法 @Override public void m1() { System.out.println("使用M1的方法"); } }; absAdapter.m1(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。