美文网首页
Java 适配器模式

Java 适配器模式

作者: 索性流年 | 来源:发表于2021-02-20 09:23 被阅读0次

    一句话总结适配器模式

    • 转换别人API的,把那些你用不到或不想用的去掉或增加你想要他没有的

    概述

    • 适配器模式隶属于结构型模式,它起到一个转换的作用,通过公共对接类将一个类的接口转成客户期望的另外一个接口

    应用案例

    • 汽车制造方提供了制造汽车的所有技术,有底盘、发动机和音响,但是我们这边没有音响技术,总不能因为我们做不了音响就不用这套技术了吧,只能先把制造汽车的技术都拿过来,到时候在这基础之上吧音响的东西去掉

    实现案例

    /**
     * 制造汽车API
     *
     * @author ext.liuyan10
     * @date 2021/2/7 17:50
     */
    public interface MakeCarApi {
        /**
         * 底盘
         */
        void chassis();
    
        /**
         * 发动机
         */
        void engine();
    
        /**
         * 音响
         */
        void sound();
    }
    
    
    • 公共对接类
    /**
     * 抽象实现制造汽车API
     *
     * @author ext.liuyan10
     * @date 2021/2/7 17:53
     */
    public abstract class MakeCarImpl implements MakeCarApi{
        @Override
        public void chassis() {
            System.out.println("安装底盘");
        }
    
        @Override
        public void engine() {
            System.out.println("安装发动机");
        }
    
        @Override
        public void sound() {
            System.out.println("安装音响");
        }
    }
    
    
    • 实现个人需要API
    /**
     * 个人所用API
     *
     * @author ext.liuyan10
     * @date 2021/2/7 17:54
     */
    public class MyMakeCarImpl extends MakeCarImpl {
        @Override
        public void chassis() {
            super.chassis();
        }
    
        @Override
        public void engine() {
            super.engine();
        }
    }
    
    
    • 调用案例
    /**
     * @author ext.liuyan10
     * @date 2021/2/7 17:57
     */
    public class MakeCarAPP {
        public static void main(String[] args) {
            MyMakeCarImpl myMakeCar = new MyMakeCarImpl();
            myMakeCar.chassis();
            myMakeCar.engine();
        }
    }
    
    
    • 调用结果
    安装底盘
    安装发动机
    
    Process finished with exit code 0
    

    相关文章

      网友评论

          本文标题:Java 适配器模式

          本文链接:https://www.haomeiwen.com/subject/yiuztltx.html