java适配器模式—210427

1、适配器模式的定义

适配器就是一种适配中间件,用于连接不匹配的二者,实物可以对照转接头。

2、适配器模式的分类

1)类适配器:通过继承来实现适配器功能。

//懒,就写一起了
public class MainTest {
    //测试方法
    public static void main(String[] args) {
        Adapter adapter = new Adapter();
        adapter.useRMB();
    }
    //适配器
    public static class Adapter extends YouXiBi implements IRMB{
        @Override
        public void useRMB() {
            //RMB没办法直接买装备,转换成游戏币再购买
            useYouXiBi();
        }
    }
    //RMB接口
    private interface IRMB{
        void useRMB();
    }
    //游戏币接口
    private interface IYouXiBi{
        void useYouXiBi();
    }
    //游戏币使用
    public static class YouXiBi implements IYouXiBi{
        @Override
        public void useYouXiBi() {
            System.out.println("我使用100游戏币买了一件装备");
        }
    }
}

2)对象适配器:通过组合来实现适配器功能。(可以看作类适配器)

//懒,就写一起了
public class MainTest {
    //测试方法
    public static void main(String[] args) {
        IYouXiBi iYouXiBi = new YouXiBi();
        Adapter adapter = new Adapter(iYouXiBi);
        adapter.useRMB();
    }
    //适配器
    public static class Adapter extends YouXiBi implements IRMB{
        IYouXiBi iYouXiBi;
        Adapter(IYouXiBi iYouXiBi){
            this.iYouXiBi = iYouXiBi;
        }
        @Override
        public void useRMB() {
            //RMB没办法直接买装备,转换成游戏币再购买
            iYouXiBi.useYouXiBi();
        }
    }
    //RMB接口
    private interface IRMB{
        void useRMB();
    }
    //游戏币接口
    private interface IYouXiBi{
        void useYouXiBi();
    }
    //游戏币使用
    public static class YouXiBi implements IYouXiBi{
        @Override
        public void useYouXiBi() {
            System.out.println("我使用100游戏币买了一件装备");
        }
    }
}

3)接口适配器:通过抽象类来实现适配器功能。
使用场景:想要使用接口中的某些方法,但是不想实现全部的方法,可以使用抽象类来实现接口(这个抽象类就是适配器),仅对方法进行置空,然后我们再继承这个抽象类来通过重写想用的方法的方式来实现。

//懒,就写一起了
public class MainTest {
    //测试方法
    public static void main(String[] args) {
        IYouXiBi iYouXiBi = new YouXiBi();
        iYouXiBi.useYouXiBi1();
    }
    //使用YouXiBi
    public static class YouXiBi extends Adapter{
        //游戏币买头盔
        public void useYouXiBi1(){
            System.out.println("游戏币买头盔");
        }
    }
    //游戏币接口
    private interface IYouXiBi{
        //游戏币买头盔
        public  void useYouXiBi1();
        //游戏币买腰带
        public void useYouXiBi2();
        //游戏币买上衣
        public  void useYouXiBi3();
        //游戏币买内裤
        public  void useYouXiBi4();
    }
    //适配器
    public static abstract class Adapter implements IYouXiBi{
        //游戏币买头盔
        public  void useYouXiBi1(){}
        //游戏币买腰带
        public void useYouXiBi2(){}
        //游戏币买上衣
        public  void useYouXiBi3(){}
        //游戏币买内裤
        public  void useYouXiBi4(){}
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 项目4说的是适配器,Peter老师也总结一下Java中的适配器模式。 适配器模式(Adapter Pattern)...
    IT职业与自媒体思考阅读 1,908评论 0 0
  • 概述 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在...
    今晚打肉山阅读 455评论 0 0
  • 适配器模式作为一种结构型设计模式,在软件系统设计开发中使用到的频率非常之高,深受开发人员的青睐。本文会讲解适配器模...
    Tifkingsly阅读 7,921评论 1 3
  • 1.在说适配器模式时我们需要了解什么是结构型模式 (1)结构型模式关注如何将现有类或对象组织在一起形成更加强大的结...
    麦角a阅读 850评论 0 0
  • 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它...
    阿靖哦阅读 255评论 0 1

友情链接更多精彩内容