最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java設(shè)計(jì)模式之適配器模式的示例詳解

 更新時(shí)間:2022年08月27日 15:21:49   作者:niuyongzhi  
適配器模式,即將某個(gè)類的接口轉(zhuǎn)換成客戶端期望的另一個(gè)接口的表示,主要目的是實(shí)現(xiàn)兼容性,讓原本因?yàn)榻涌诓黄ヅ?,沒辦法一起工作的兩個(gè)類,可以協(xié)同工作。本文將通過示例詳細(xì)介紹適配器模式,需要的可以參考一下

1.什么是適配器模式

將一個(gè)類的接口轉(zhuǎn)換成為客戶希望的另外一個(gè)類的接口。適配器(Adapter)模式是的原本由于接口不兼容而不能在一起工作的類,可以一起工作。

比如,小米充電器,可以給小米手機(jī)充電,目前,想讓蘋果充電器給小米手機(jī)充電。如何完成,這時(shí)候需要一個(gè)適配器,將小米充電器和蘋果充電器連在一起。

2.如何實(shí)現(xiàn)

1)目標(biāo)接口,該接口是客戶想要使用的接口(蘋果充電器)

2)被適配者,是一個(gè)已經(jīng)存在的接口或抽象類。(小米充電器)

3)適配器,是一個(gè)類,該類實(shí)現(xiàn)了目標(biāo)接口,并包含被適配者的引用。

適配器的職責(zé)是對(duì)被適配者接口(抽象類)與目標(biāo)接口進(jìn)行適配

3.代碼實(shí)現(xiàn)

1)目標(biāo)接口

/**
 * 目標(biāo)接口,蘋果充電器
 */
public interface AppleCharger {
    public void appleCharger();
}

2)被適配者

/**
 *被適配者,小米充電器
 */
public interface MiCharger {
    public void miCharger();
}

3)小米手機(jī)使用小米充電器進(jìn)行充電

/**
 *小米手機(jī),實(shí)現(xiàn)小米充電器接口,可以充電
 */
public class MiPhone implements MiCharger {
    @Override
    public void miCharger() {
        charging();
    }
    public void charging(){
        System.out.println("MiPhone charging.....");
    }
}

4)適配器。需要調(diào)用蘋果充電器的方法給小米手機(jī)充電。

該類實(shí)現(xiàn)了目標(biāo)接口(AppleChager),并包含被適配者引用(MiCharger)

/**
 * 適配器,
 * 該類實(shí)現(xiàn)目標(biāo)接口AppleCharge,并包含被適配者(MiCharger)的引用
 */
public class AppleAdapter implements AppleCharger {
    MiCharger charge;
    public AppleAdapter(MiCharger b){
        this.charge = b;
    }
    /**
     * 調(diào)用蘋果充電器的方法
     */
    @Override
    public void appleCharger() {
        //給使用小米充電器的設(shè)備充電
        charge.miCharger();
    }
}

5)測(cè)試類

public class TestMain {
    public static void main(String args []){
        AppleAdapter adapter = new AppleAdapter(new MiPhone());
        adapter.appleCharger();//調(diào)用蘋果充電器,給小米手機(jī)充電
    }
}

到此這篇關(guān)于Java設(shè)計(jì)模式之適配器模式的示例詳解的文章就介紹到這了,更多相關(guān)Java適配器模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中BigDecimal序列化科學(xué)計(jì)數(shù)法前端展示問題踩坑實(shí)戰(zhàn)

    Java中BigDecimal序列化科學(xué)計(jì)數(shù)法前端展示問題踩坑實(shí)戰(zhàn)

    BigDecimal是處理高精度的浮點(diǎn)數(shù)運(yùn)算的常用的一個(gè)類當(dāng)需要將BigDecimal中保存的浮點(diǎn)數(shù)值打印出來,這篇文章主要給大家介紹了關(guān)于Java中BigDecimal序列化科學(xué)計(jì)數(shù)法前端展示問題踩坑的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Java適配器模式定義與用法示例

    Java適配器模式定義與用法示例

    這篇文章主要介紹了Java適配器模式定義與用法,結(jié)合具體實(shí)例形式分析了java適配器模式的功能、組成、定義、使用方法及適配程度等,需要的朋友可以參考下
    2017-06-06
  • SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)同步的示例代碼

    SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)同步的示例代碼

    本文主要介紹了SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)同步,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java開發(fā)或調(diào)用WebService的幾種方式總結(jié)

    Java開發(fā)或調(diào)用WebService的幾種方式總結(jié)

    java開發(fā)過程中,很多地方都會(huì)遇到數(shù)據(jù)傳遞,遠(yuǎn)程獲取數(shù)據(jù)問題,這篇文章主要介紹了Java開發(fā)或調(diào)用WebService的幾種方式的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 淺談Java變量賦值運(yùn)算符及相關(guān)實(shí)例

    淺談Java變量賦值運(yùn)算符及相關(guān)實(shí)例

    這篇文章主要介紹了Java賦值運(yùn)算符的一些知識(shí),需要的朋友可以參考下。
    2017-09-09
  • Spring如何使用PropertyPlaceholderConfigurer讀取文件

    Spring如何使用PropertyPlaceholderConfigurer讀取文件

    這篇文章主要介紹了Spring如何使用PropertyPlaceholderConfigurer讀取文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 總結(jié)Java常用排序算法

    總結(jié)Java常用排序算法

    在本文里我們給大家整理了關(guān)于Java常用排序算法以及實(shí)例代碼分析,需要的朋友們跟著學(xué)習(xí)下。
    2019-03-03
  • 完美解決idea創(chuàng)建文件時(shí),文件不分級(jí)展示的情況

    完美解決idea創(chuàng)建文件時(shí),文件不分級(jí)展示的情況

    這篇文章主要介紹了完美解決idea創(chuàng)建文件時(shí),文件不分級(jí)展示的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • IDEA類存在但找不到的解決辦法

    IDEA類存在但找不到的解決辦法

    本文主要介紹了IDEA類存在但找不到的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Spring Boot 3.4.0 結(jié)合 Mybatis-plus 實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源的完整方案

    Spring Boot 3.4.0 結(jié)合 Mybatis-plus 實(shí)

    本文詳細(xì)介紹了在 Spring Boot 3.4.0 項(xiàng)目中結(jié)合 Mybatis-plus 實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的完整方案,通過自定義注解和AOP切面,我們可以優(yōu)雅地實(shí)現(xiàn)方法級(jí)別的數(shù)據(jù)源切換,滿足多數(shù)據(jù)源場(chǎng)景下的各種需求,感興趣的朋友一起看看吧
    2025-04-04

最新評(píng)論

屏南县| 罗山县| 且末县| 汉沽区| 延边| 南丹县| 章丘市| 青铜峡市| 同仁县| 勃利县| 大兴区| 义乌市| 铁力市| 东平县| 得荣县| 商水县| 舟山市| 麻城市| 铁岭市| 普陀区| 监利县| 盈江县| 池州市| 盖州市| 美姑县| 崇明县| 嘉鱼县| 申扎县| 务川| 缙云县| 青神县| 德化县| 宿迁市| 綦江县| 图片| 苍梧县| 高要市| 贡觉县| 房山区| 永州市| 马关县|