iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java适配器模式示例分析
  • 455
分享到

Java适配器模式示例分析

2023-06-29 05:06:04 455人浏览 独家记忆
摘要

本篇内容主要讲解“Java适配器模式示例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java适配器模式示例分析”吧!定义适配器模式,即将某个类的接口转换成客户端期望的另一个接口的表示,主要

本篇内容主要讲解“Java适配器模式示例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java适配器模式示例分析”吧!

    定义

    适配器模式,即将某个类的接口转换成客户端期望的另一个接口的表示,主要目的是实现兼容性,让原本因为接口不匹配,没办法一起工作的两个类,可以协同工作。

    分类

    • 类适配器

    • 对象适配器

    • 接口适配器

    案例

    需求

    手机充电,通过手机充电器将220V电压适配为5V

    方案一:类适配器

    定义220V交流电(被适配者的角色)

    public class Ac {    public int outputAc(){        int srcV = 220;        System.out.println(srcV + "V交流电");        return srcV;    }}

    定义5v直流电(目标对象的角色)

    public interface Dc {    int outputDc();}

    定义适配器

    public class PhoneAdapter extends Ac implements Dc{    @Override    public int outputDc() {        // 获取220V交流电        int srcV = outputAc();        // 模拟适配器过程,转换为5v直流电        int targetV = srcV / 44;        System.out.println("电压已经适配为" + targetV + "V" );        return targetV;    }}

    定义手机类

    public class Phone {    public void charge(Dc dc){        if(dc.outputDc() == 5){            System.out.println("电压正常,可以安全充电");        }else {            System.out.println("电压异常,危险!");        }    }}

    定义测试

    public class Test {    public static void main(String[] args) {        new Phone().charge(new PhoneAdapter());    }}

    查看测试结果

    Java适配器模式示例分析

    方案二:对象适配器

    该方案只需要改造手机适配器类即可,如下:

    public class PhoneAdapter implements Dc {    private Ac ac;    public PhoneAdapter(Ac ac){        this.ac = ac;    }    @Override    public int outputDc() {        // 获取220V交流电        int srcV = ac.outputAc();        // 模拟适配器过程,转换为5v直流电        int targetV = srcV / 44;        System.out.println("电压已经适配为" + targetV + "V" );        return targetV;    }}

    改造测试类

    public class Test {    public static void main(String[] args) {        new Phone().charge(new PhoneAdapter(new Ac()));    }}

    查看测试结果

    Java适配器模式示例分析

    方案三:接口适配器

    需要改造的如下: 定义一个默认的适配器,作用是实现Dc的多个方法,使其他的自定义适配器用来继承,扩展

    public class DefaultAdapter implements Dc {    @Override    public int outputDc() {        return 0;    }}

    定义手机适配器

    public class PhoneAdapter extends DefaultAdapter {    private Ac ac;    public PhoneAdapter(Ac ac){        this.ac = ac;    }    @Override    public int outputDc() {        // 获取220V交流电        int srcV = ac.outputAc();        // 模拟适配器过程,转换为5v直流电        int targetV = srcV / 44;        System.out.println("电压已经适配为" + targetV + "V" );        return targetV;    }}

    定义手机类

    public class Phone {    public void charge(int v){        if(v == 5){            System.out.println("电压正常,可以安全充电");        }else {            System.out.println("电压异常,危险!");        }    }}

    定义测试类

    public class Test {    public static void main(String[] args) {        new Phone().charge(new PhoneAdapter(new Ac()).outputDc());    }}

    查看测试结果

    Java适配器模式示例分析

    对比分析

    方案一:类适配器

    • 优势:由于它是继承被适配者,可以根据需求,重写被适配者的方法,灵活性较好

    • 劣势:由于继承是单继承属性的,目标对象必须是一个接口,有一定的局限性

    方案二:对象适配器

    改造适配类,将继承被适配者,修改为持有被适配者,遵循合成复用原则,使用关联关系代替继承关系,进一步解耦,提高扩展性

    方案三:接口适配器

    接口适配器模式,又叫缺省适配器模式,通过设计一个中间抽象类,去实现接口,为接口中的每个方法都提供一个默认实现,然后再定义一个具体的适配器继承默认的适配器,只需要重写自己需要重写的方法即可

    到此,相信大家对“Java适配器模式示例分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: Java适配器模式示例分析

    本文链接: https://www.lsjlt.com/news/322929.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Java适配器模式示例分析
      本篇内容主要讲解“Java适配器模式示例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java适配器模式示例分析”吧!定义适配器模式,即将某个类的接口转换成客户端期望的另一个接口的表示,主要...
      99+
      2023-06-29
    • java适配器模式的示例分析
      这篇文章主要为大家展示了“java适配器模式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java适配器模式的示例分析”这篇文章吧。定义:将一个类的接口转换成客户希望的另外一个接口。适...
      99+
      2023-05-30
      java
    • Java中适配器模式的示例分析
      小编给大家分享一下Java中适配器模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java程序设计模式系列之适配器模式理解适配器设计模式需要从生活中的...
      99+
      2023-06-03
    • java设计模式中适配器模式的示例分析
      这篇文章给大家分享的是有关java设计模式中适配器模式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、结构型模式结构型模式有什么好处?从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的...
      99+
      2023-06-15
    • Java设计模式之适配器模式的示例详解
      目录定义分类案例需求方案一:类适配器方案二:对象适配器方案三:接口适配器对比分析方案一:类适配器方案二:对象适配器方案三:接口适配器总结 定义 适配器模式,即将某个类的接口转换成客户...
      99+
      2024-04-02
    • java模板模式的示例分析
      这篇文章主要介绍java模板模式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java设计模式-模板模式什么是模板模式?模板模式,顾名思义,就是通过模板拓印的方式。定义模板,就是定义框架、结构、原型。定义一...
      99+
      2023-06-20
    • SpringMVC适配器模式代码示例
      此处采用了适配器模式, 由于Controller的类型不同,有多重实现方式,那么调用方式就不是确定的,如果需要直接调用Controller方法,需要在代码中写成如下形式:if(mappedHandler.getHandler() insta...
      99+
      2023-05-30
      springmvc 适配器模式
    • java单例模式的示例分析
      这篇文章主要介绍了java单例模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定义:      &nb...
      99+
      2023-05-30
      java
    • Java享元模式示例分析
      这篇文章主要介绍了Java享元模式示例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java享元模式示例分析文章都会有所收获,下面我们一起来看看吧。定义享元模式(FlyWeight Pattern),也叫蝇...
      99+
      2023-06-29
    • Java外观模式示例分析
      本篇内容介绍了“Java外观模式示例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!定义外观模式为多个复杂的子系统,提供了一个一致的界面,...
      99+
      2023-06-29
    • java策略模式的示例分析
      这篇文章给大家分享的是有关java策略模式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图:  &...
      99+
      2023-05-30
      java
    • java外观模式的示例分析
      这篇文章主要介绍java外观模式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!定义:        为子系统中的一组接口提供一个一致的界...
      99+
      2023-05-30
      java
    • Java原型模式的示例分析
      这篇文章主要介绍了Java原型模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.思考问题现在有一只羊 tom,姓名为: tom,年龄为:1,颜色为:白色,请编写...
      99+
      2023-06-29
    • Java的代理模式示例分析
      这篇文章主要讲解了“Java的代理模式示例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的代理模式示例分析”吧!定义代理模式(Proxy Parttern) 为一个对象提供一个替...
      99+
      2023-06-29
    • java模版方法模式的示例分析
      这篇文章给大家分享的是有关java模版方法模式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。java模版方法模式定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可...
      99+
      2023-05-30
      java
    • 实例解析Java设计模式编程中的适配器模式使用
      适配器模式的主要作用是在新接口和老接口之间进行适配,通过将一个类的接口转换成客户期望的另一个接口,让原本不兼容的接口可以合作无间,本文以实例解析Java设计模式编程中的适配器模式使用,需要的朋友可以参考下平时我们会经常碰到这样的情况,有了两...
      99+
      2023-05-31
      java 适配器模式 ava
    • Java桥接模式示例代码分析
      这篇文章主要介绍“Java桥接模式示例代码分析”,在日常操作中,相信很多人在Java桥接模式示例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java桥接模式示例代码分析”的疑惑有所帮助!接下来,请跟...
      99+
      2023-06-29
    • Java装饰者模式的示例分析
      小编给大家分享一下Java装饰者模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定义装饰者模式:在不改变原有对象的基础之上,动态的将功能附加到对象上,...
      99+
      2023-06-29
    • Java建造者模式的示例分析
      这篇文章主要介绍“Java建造者模式的示例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java建造者模式的示例分析”文章能帮助大家解决问题。定义建造者模式(Builder Pattern),又...
      99+
      2023-06-29
    • Java设计模式之工厂模式的示例分析
      这篇文章主要为大家展示了“Java设计模式之工厂模式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java设计模式之工厂模式的示例分析”这篇文章吧。具体如下:工厂模式主要是为创建对象提...
      99+
      2023-05-30
      java
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作