• 适配器模式


     

     TypeC

    package com.qianfeng.adapter;

    public interface TypeC {
    String getInfo();
    }
    -----------------------------------------
    USB
    package com.qianfeng.adapter;

    public interface USB {
    String getInfo();
    }
    -------------------------------------------------
    Computer.java
    package com.qianfeng.adapter;

    public class Computer {
    private USB usb1;

    public void connect(USB usbDevice){
    this.usb1=usbDevice;
    }

    public void showInfo(){
    System.out.println(this.usb1.getInfo());
    }
    }
    --------------------------------------------------------------------
    Phone.java
    package com.qianfeng.adapter;

    public class Phone implements TypeC{

    @Override
    public String getInfo() {
    return "这是一个手机";
    }
    }
    ---------------------------------------------------------------------
    AdapterJobMain.java
    package com.qianfeng.adapter;

    public class AdapterJobMain {
    //需求:
    //电脑usb接口,Type-C接口的手机连接到电脑上
    public static void main(String[] args) {
    Computer computer=new Computer();
    Phone phone=new Phone();
    //电脑通过适配器连接到了一个TypeC手机
    computer.connect(new Adapter(phone));
    computer.showInfo();
    }

    }

     --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Adapter.java

    package com.qianfeng.adapter;

    /**
    * 中间件:适配器
    */
    public class Adapter implements USB{

    private TypeC device;

    public Adapter(TypeC device){
    this.device=device;
    }
    @Override
    public String getInfo() {
    return this.device.getInfo();
    }
    }
  • 相关阅读:
    linux 查看父进程号
    gitlab
    诺基亚C6常识详解
    C#.net书籍列表
    表链接
    Limu:JavaScript的那些书(转载)
    Oracle 多行记录合并/连接/聚合字符串的几种方法
    关于有锁iPhone的常识(转载)
    not in与not exists性能比较
    多表连接查询
  • 原文地址:https://www.cnblogs.com/curedfisher/p/12667691.html
Copyright © 2020-2023  润新知