适配器模式
Posted chenziyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了适配器模式相关的知识,希望对你有一定的参考价值。
适配器
使用已有类 但接口与其它代码不兼容时 使用该模式
重用几个子类 但子类缺少一些不能添加到父类中的公共功能时 使用该模式
对象适配器(使用组合)
// 手机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(); }
手机不能敲代码 手机会继承电脑的所有方法 所有不适合
以上是关于适配器模式的主要内容,如果未能解决你的问题,请参考以下文章