zoukankan      html  css  js  c++  java
  • Java的适配器模式

      所谓适配器模式,其实很简单,就是将一个类的接口转换成客户端所期待的另一个接口,使得原本不兼容的两个类可以一起工作。

      假设我们有一个Type-c接口,但是要使用的接口确实usb的接口,这时候要怎么办呢?解决方法就是用一个适配器将Type-c类转换成usb类,这样我们就能使用这个Type-c接口了。

      实现适配器模式有两种方法,分别是组合方式和继承方式。

      1.组合方式

      组合方式就是讲被适配的对象组合到适配器类中,在这里被适配对象就是就是Type-c接口。

      2.继承方式

      继承方式就是通过多重继承不兼容的接口以匹配目标接口。

      实现代码如下:

    Usb.java
    package com.muggle.Ada;
    
    public class Usb {
        public void useUsb() {
            System.out.println("使用了usb接口");
        }
    }
    
    
    Typec.java
    package com.muggle.Ada;
    
    public interface Tyepec {
        public void useTypec() ;
    }
    
    
    Adapter.java
    package com.muggle.Ada;
    //使用组合方式实现适配器模式
    public class Adapter implements Tyepec {
        private Usb plug;
    
        public   Adapter(Usb plug) {
            // TODO Auto-generated constructor stub
            this.plug=plug;
        }
                                                                                                                                                                                                                                                       
        @Override
        public void useTypec() {
            // TODO Auto-generated method stub
            plug.useUsb();
            System.out.println("完成转化使用了Type-c接口");
            
        }
    
    }
    
    newAdapter.java
    package com.muggle.Ada;
    
    public class newAdapter extends Usb implements Tyepec {
      //使用继承方式实现适配器模式  
        @Override
        public void useTypec() {
            // TODO Auto-generated method stub
            this.useUsb();
            System.out.println("完成转化使用了Type-c接口");
        }
    
    }
    
    TestDrive.java
    package com.muggle.Ada;
    
    
    public class TestDrive {
    
        public static void main(String[] args) {
            Tyepec tyepec=new Adapter(new Usb());
            tyepec.useTypec();
            
            Tyepec newtypec=new newAdapter();
            newtypec.useTypec();
        }
    
    }

      运行结果如下:

    使用了usb接口
    完成转化使用了Type-c接口
    使用了usb接口
    完成转化使用了Type-c接口

      这样我们就使用了适配器模式的两种方法对usb类进行了转换。

  • 相关阅读:
    android service
    Java 枚举7常见种用法
    SkylineGlobe Android 开发 面积计算示例代码
    SkylineGlobe 6.6 版本API更新
    SkylineGlobe 移动端开发测试
    SkylineGlobe 如何二次开发获取三维模型的BBOX和设置Tint属性
    SkylineGlobe 如何二次开发实现天际线分析功能
    SkylineGlobe API 如何以图层的方式导入MPT地形
    SkylineGlobe 如何使用二次开发接口创建粒子效果
    SkylineGlobe 支持火狐和谷歌浏览器的可运行示例代码
  • 原文地址:https://www.cnblogs.com/mugglean/p/8906209.html
Copyright © 2011-2022 走看看