• Java适配器模式


    适配器模式

      适配器模式就是将一个类的接口转换成我们希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的类可以在一起工作。

    角色

      目标接口(Target):希望的接口。可以是具体的类,或者接口。

      需要适配的类(Adaptee):需要适配的类,或者适配者的类。

      适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。

    Demo:

    //接口规则

    public interface Target {

      public void handleReq();
    }

    //适配器,继承接口文档,并且实现对应的方法

    public class Adpatee implements Target{

      @Override
      public void handleReq() {
        System.out.println("完成客户端的要求");
      }
    }

    //接口的具体实现类,同时继承适配器类,这样就可以使用其中的方法,完成适配

    public class TargetImpl extends Adpatee implements Target{

      @Override
      public void handleReq() {
        super.handleReq();
       }

    }

    客户端调用

    public class Client {
      public static void test(Target t) {
        t.handleReq();
      }
      public static void main(String[] args) {
        Target t = new TargetImpl();
        test(t);
      }
    }

    上面是通过类继承的方法来实现的,缺点就是类只能单继承,不能实现多个类

    解决方法:

      通过在类中创建对象的方式进行处理

    public class TargetImpl extends Adpatee implements Target{

      private Adpatee a;

      public TargetImpl(Adpatee a) {
        super();
        this.a = a;
      }

      @Override
      public void handleReq() {
        a.handleReq();
      }

    }

    public class Client {
       public static void test(Target t) {
    t    .handleReq();
        }
      public static void main(String[] args) {
        Target t = new TargetImpl(new Adpatee());
        test(t);
      }
    }

  • 相关阅读:
    选课系统
    Python入门day34——网络编程基础
    Python入门day34——异常处理
    Python入门day33——元类、属性查找
    Python入门day33——反射、内置方法
    Python入门day30——mixins机制、super()、多态、绑定方法、内置函数
    从 0 到 1 实现 React 系列 —— 5.PureComponent 实现 && HOC 探幽
    前端中常见数据结构小结
    从 0 到 1 实现 React 系列 —— 4.setState优化和ref的实现
    从 0 到 1 实现 React 系列 —— 3.生命周期和 diff 算法
  • 原文地址:https://www.cnblogs.com/zl96291/p/10126031.html
Copyright © 2020-2023  润新知