标签:接口 vat http ret void one 技术 适配器模式 功能
使用已有类 但接口与其它代码不兼容时 使用该模式
重用几个子类 但子类缺少一些不能添加到父类中的公共功能时 使用该模式
// 手机usb接口 public interface UsbPhone { String getName(); } -------- // 电脑usb接口 public class UsbCom { public String getName(){ return "电脑USB"; } }
// 对象适配器 使用组合 public class UsbTransition implements UsbPhone{ private UsbCom usbCom; public UsbTransition(UsbCom usbCom){ this.usbCom = usbCom; } @Override public String getName() { String name = usbCom.getName(); return "手机USB"; } }
public static void main(String[] args) { // 需要转换的类 UsbCom usbCom = new UsbCom(); // 转换类 UsbTransition usbTransition = new UsbTransition(usbCom); String name = usbTransition.getName(); }
// 类的适配器 使用继承 public class UsbAdpater extends UsbCom implements UsbPhone{ @Override public String getName() { return "手机usb"; } }
新增方法
// 电脑USB public class UsbCom { public String getName(){ return "电脑USB"; } public String playCode(){ return "敲代码"; } }
public static void main(String[] args) { UsbAdpater usbAdpater = new UsbAdpater(); usbAdpater.playCode(); }
手机不能敲代码 手机会继承电脑的所有方法 所有不适合
标签:接口 vat http ret void one 技术 适配器模式 功能
原文地址:https://www.cnblogs.com/chenziyue/p/12519152.html