亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java設計模式之適配器模式的示例詳解

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

1.什么是適配器模式

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

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

2.如何實現

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

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

3)適配器,是一個類,該類實現了目標接口,并包含被適配者的引用。

適配器的職責是對被適配者接口(抽象類)與目標接口進行適配

3.代碼實現

1)目標接口

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

2)被適配者

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

3)小米手機使用小米充電器進行充電

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

4)適配器。需要調用蘋果充電器的方法給小米手機充電。

該類實現了目標接口(AppleChager),并包含被適配者引用(MiCharger)

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

5)測試類

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

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

相關文章

  • 基于JavaMail實現簡單郵件發(fā)送

    基于JavaMail實現簡單郵件發(fā)送

    這篇文章主要為大家詳細介紹了基于JavaMail實現簡單郵件發(fā)送,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java NIO Selector用法詳解【含多人聊天室實例】

    Java NIO Selector用法詳解【含多人聊天室實例】

    這篇文章主要介紹了Java NIO Selector用法,結合實例形式分析了Java NIO Selector基本功能、原理與使用方法,并結合了多人聊天室實例加以詳細說明,需要的朋友可以參考下
    2019-11-11
  • MySQL主鍵約束和外鍵約束的實現

    MySQL主鍵約束和外鍵約束的實現

    在MySQL中,主鍵和外鍵約束是通過約束來實現的,本文主要介紹了MySQL主鍵約束和外鍵約束的實現, 具有一定的參考價值,感興趣的可以了解下
    2023-11-11
  • 解決springmvc使用@PathVariable路徑匹配問題

    解決springmvc使用@PathVariable路徑匹配問題

    這篇文章主要介紹了解決springmvc使用@PathVariable路徑匹配問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 一文帶你徹底搞懂Lambda表達式

    一文帶你徹底搞懂Lambda表達式

    這篇文章主要介紹了一文帶你徹底搞懂Lambda表達式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 歸并排序的原理及java代碼實現

    歸并排序的原理及java代碼實現

    歸并(Merge)排序法是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然后再把有序子序列合并為整體有序序列。遞歸形式的算法在形式上較簡潔,但實用性很差。一般情況下,很少利用二路歸并排序法進行內部排序。
    2016-02-02
  • 淺析Java中靜態(tài)代理和動態(tài)代理的應用與區(qū)別

    淺析Java中靜態(tài)代理和動態(tài)代理的應用與區(qū)別

    代理模式在我們生活中很常見,而Java中常用的兩個的代理模式就是動態(tài)代理與靜態(tài)代理,這篇文章主要為大家介紹了二者的應用與區(qū)別,需要的可以參考下
    2023-08-08
  • RocketMQ?Broker實現高可用高并發(fā)的消息中轉服務

    RocketMQ?Broker實現高可用高并發(fā)的消息中轉服務

    RocketMQ消息代理(Broker)是一種高可用、高并發(fā)的消息中轉服務,能夠接收并存儲生產者發(fā)送的消息,并將消息發(fā)送給消費者。它具有多種消息存儲模式和消息傳遞模式,支持水平擴展和故障轉移等特性,可以為分布式應用提供可靠的消息傳遞服務
    2023-04-04
  • 詳解Java中CountDownLatch異步轉同步工具類

    詳解Java中CountDownLatch異步轉同步工具類

    今天給大家?guī)淼氖顷P于Java的相關知識,文章圍繞著CountDownLatch異步轉同步工具類展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot基于SpringSecurity表單登錄和權限驗證的示例

    SpringBoot基于SpringSecurity表單登錄和權限驗證的示例

    這篇文章主要介紹了SpringBoot基于SpringSecurity表單登錄和權限驗證的示例。文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論