欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

輕松掌握J(rèn)ava適配器模式

 更新時(shí)間:2016年09月29日 17:22:04   作者:斷了聯(lián)系  
這篇文章主要幫助大家輕松掌握J(rèn)ava適配器模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱包裝樣式或者包裝)將一個(gè)類的接口適配成用戶所期待的。一個(gè)適配允許通常因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念惞ぷ髟谝黄穑龇ㄊ菍㈩愖约旱慕涌诎谝粋€(gè)已存在的類中。

特點(diǎn):將兩個(gè)不兼容的類通過接口實(shí)現(xiàn)在一起工作

企業(yè)級開發(fā)和常用框架中的應(yīng)用:流接口,例如將字符流轉(zhuǎn)換為字節(jié)流輸出是用的outputstreamreader

適配器模式分為類適配器和對象適配器:

舉例:電腦只有USB接口,但是鍵盤只有圓口,這時(shí)就需要一個(gè)適配器,讓鍵盤能輸入數(shù)據(jù)到電腦

類適配器:

package com.test.adapter;

public class Computer {

 public void show(USB usb){
 usb.recive();
 System.out.println("電腦顯示輸入的數(shù)據(jù)");
 }
 
 public static void main(String[] args) {
 Computer c = new Computer();
 USB u = new USBAdapter();
 c.show(u);
 }
}

class KeyBoard{
 public void input(){
 System.out.println("鍵盤輸入數(shù)據(jù)");
 }

}

/**
 * 適配器接口 
 */
interface USB{
 public void recive();
}

/**
 * 具體的適配器
 */
class USBAdapter extends KeyBoard implements USB{

 public void recive() {
 System.out.println("我是USB適配器,我使圓口的鍵盤能和USB接口電腦連接");
 super.input();
 }
 
}

對象適配器:

package com.test.adapter;

public class Computer {

 public void show(USB usb){
 usb.recive();
 System.out.println("電腦顯示輸入的數(shù)據(jù)");
 }
 
 public static void main(String[] args) {
 Computer c = new Computer();
 KeyBoard k = new KeyBoard();
 USB u = new USBAdapter(k);
 c.show(u);
 }
}

class KeyBoard{
 public void input(){
 System.out.println("鍵盤輸入數(shù)據(jù)");
 }

}

/**
 * 適配器接口 
 */
interface USB{
 public void recive();
}

/**
 * 具體的適配器
 */
class USBAdapter implements USB{

 private KeyBoard k;
 
 public USBAdapter(KeyBoard k) {
 this.k = k;
 }
 
 public void recive() {
 System.out.println("我是USB適配器,我使圓口的鍵盤能和USB接口電腦連接");
 k.input();
 }
 
}

相對而言,對象適配器通過組合的方式比類適配器通過集成的方式要更靈活,推薦平時(shí)使用對象適配器。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 四步五分鐘Spring4快速集成Swagger

    四步五分鐘Spring4快速集成Swagger

    這篇文章主要為大家詳細(xì)介紹了四步、五分鐘Spring4快速集成Swagger的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • springboot集成測試最小化依賴實(shí)踐示例

    springboot集成測試最小化依賴實(shí)踐示例

    這篇文章主要為大家介紹了springboot集成測試最小化依賴實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java使用lambda自定義Arrays.sort排序規(guī)則說明

    Java使用lambda自定義Arrays.sort排序規(guī)則說明

    這篇文章主要介紹了Java使用lambda自定義Arrays.sort排序規(guī)則說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • RestTemplate實(shí)現(xiàn)發(fā)送帶headers的GET請求

    RestTemplate實(shí)現(xiàn)發(fā)送帶headers的GET請求

    這篇文章主要介紹了RestTemplate實(shí)現(xiàn)發(fā)送帶headers的GET請求,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • spring的@Transactional注解用法解讀

    spring的@Transactional注解用法解讀

    這篇文章主要介紹了spring的@Transactional注解用法解讀,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Spring Boot啟動過程(四)之Spring Boot內(nèi)嵌Tomcat啟動

    Spring Boot啟動過程(四)之Spring Boot內(nèi)嵌Tomcat啟動

    這篇文章主要介紹了Spring Boot啟動過程(四)之Spring Boot內(nèi)嵌Tomcat啟動的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-04-04
  • java讀寫串口數(shù)據(jù)你了解多少

    java讀寫串口數(shù)據(jù)你了解多少

    這篇文章主要為大家詳細(xì)介紹了java讀寫串口數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 初識Spring Boot框架之Spring Boot的自動配置

    初識Spring Boot框架之Spring Boot的自動配置

    本篇文章主要介紹了初識Spring Boot框架之Spring Boot的自動配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • Java中泛型使用的簡單方法介紹

    Java中泛型使用的簡單方法介紹

    這篇文章主要給大家介紹了關(guān)于Java中泛型使用的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java動態(tài)獲取實(shí)現(xiàn)某個(gè)接口下所有的實(shí)現(xiàn)類對象集合

    Java動態(tài)獲取實(shí)現(xiàn)某個(gè)接口下所有的實(shí)現(xiàn)類對象集合

    今天小編就為大家分享一篇關(guān)于Java動態(tài)獲取實(shí)現(xiàn)某個(gè)接口下所有的實(shí)現(xiàn)類對象集合,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論