JAVA_适配器设计模式例子

适配器设计模式


作用是在新接口和老接口之间进行适配

原理:通过继承来实现适配器功能

适配器有两种模式 |  类适配器

                            |  对象适配器

以下是一个简单的列子:

实例:  ps2接口与usb接口的转接

---------------------------------------准备阶段

-----------------------ps2接口

/**
 * 例子:ps2接口与usb接口的转接
 * */
public interface Ps2 {
      void isPs2();
}

-----------------------usb接口

/**
 * 例子:ps2接口与usb接口的转接
 * */
public interface Usb {
      void isUsb();
}

-----------------------实现usb接口的实现类

-----------------------(1)类适配器模式调这个

/**
 * 实现usb接口
 * */
public class Usber_class implements Usb{
      @Override
      public void isUsb() {
            // TODO Auto-generated method stub
            System.out.println("类适配器usb接口!!!!!");
      }
}

-----------------------(2)对象适配器调这个

public class Usber_Object implements Usb{
      @Override
      public void isUsb() {
            // TODO Auto-generated method stub
            System.out.println("对象适配器-----USB接口!!!!!!!");
      }
}

-------------(重点)----------------

一、类适配器------------------------------------------------------

/**
 * 类适配器--------extends Usber ----------(重点)
 * */
public class Adapter extends Usber_class implements Ps2{
      @Override
      public void isPs2() {
            // TODO Auto-generated method stub
            isUsb();
      }      
}

测试:

public class 类适配器_test {
      public static void main(String[] args) {
            Ps2 p = new Adapter();
            p.isPs2();
      }
}

效果:

二、对象适配器---------------------------------------------------

public class Adapter implements Ps2{
      
      private Usb usb;
      public Adapter(Usb usb){
              this.usb = usb;
      }
      @Override
      public void isPs2() {
            // TODO Auto-generated method stub
            usb.isUsb();
      }
}

测试:

public class 对象适配器_test {
      public static void main(String[] args) {
             Ps2 p = new Adapter(new Usber_Object());
         p.isPs2();
      }
}

效果: