• 【设计模式】5、适配器设计模式之对象适配器


    1、基本介绍

    1)适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)
    2)适配器模式属于结构型模式
    3)主要分为三类:类适配器模式、对象适配器模式、接口适配器模式

    2、实现原理

    1)适配器模式:将一个类的接口转换成另一种接口.让原本接口不兼容的类可以兼容

    2)从用户的角度看不到被适配者,是解耦的

    3)用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法

    4)用户收到反馈结果,感觉只是和目标接口交互

    3、类适配器模式

    1.接口类

    public interface Votage50V {
    
        public int output50V();
    
    }

    2.目标类

    public class Votage220V {
    
        public int output220V(){
            System.out.println("220V电压");
            return 220;
        }
    
    }

    3.适配器类

    public class VoltageAdapter extends Votage220V implements Votage50V {
    
        @Override
        public int output50V() {
            int src = output220V();
            return src/4;
        }
    }

     4、手机类

    public class Phone {
    
       public void charge(Votage50V v){
           if (v.output50V()==50){
               System.out.println("手机充电中");
           }else {
               System.out.println("电源不适 手机充爆");
           }
       }
    
    }

    5.客户端类

    public static void main(String[] args) {
            System.out.println("---类适配器---");
            Phone phone = new Phone();
            Votage50V v = new VoltageAdapter();
            phone.charge(v);
        }

    5、类适配器模式注意事项和细节

    1)Java是单继承机制,所以类适配器需要继承src类这一点算是一个缺点,因为这要求dst必须是接口,有一定局限性;
    2)src类的方法在Adapter中都会暴露出来,也增加了使用的成本。
    3)由于其继承了src类,所以它可以根据需求重写src类的方法,使得Adapter的灵活性增强了。

  • 相关阅读:
    01、MySQL_简介
    算法—打擂台法
    第10章 对文件的输入输出
    第9章 用户自己建立数据类型
    Spring Cloud
    JUC
    Swagger Learing
    JUC
    Spring Data
    SpringCloud
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860785.html
Copyright © 2020-2023  润新知