码迷,mamicode.com
首页 > 其他好文 > 详细

适配器模式

时间:2020-03-18 18:55:53      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:接口   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!