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

輕松掌握Java適配器模式

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

在計算機編程中,適配器模式(有時候也稱包裝樣式或者包裝)將一個類的接口適配成用戶所期待的。一個適配允許通常因為接口不兼容而不能在一起工作的類工作在一起,做法是將類自己的接口包裹在一個已存在的類中。

特點:將兩個不兼容的類通過接口實現在一起工作

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

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

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

類適配器:

package com.test.adapter;

public class Computer {

 public void show(USB usb){
 usb.recive();
 System.out.println("電腦顯示輸入的數據");
 }
 
 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("鍵盤輸入數據");
 }

}

/**
 * 適配器接口 
 */
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("電腦顯示輸入的數據");
 }
 
 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("鍵盤輸入數據");
 }

}

/**
 * 適配器接口 
 */
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();
 }
 
}

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

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

    四步五分鐘Spring4快速集成Swagger

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

    springboot集成測試最小化依賴實踐示例

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

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

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

    RestTemplate實現發(fā)送帶headers的GET請求

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

    spring的@Transactional注解用法解讀

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

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

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

    java讀寫串口數據你了解多少

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

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

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

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

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

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

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

最新評論