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

Java設(shè)計模式之適配器模式簡介

 更新時間:2014年07月29日 15:17:44   投稿:shichen2014  
這篇文章主要介紹了Java設(shè)計模式之適配器模式,需要的朋友可以參考下

本文舉例說明兩種適配器模式,即類適配模式和對象適配模式,詳情如下:

1.類適配模式:

舉個例子來說明:在地球時代,所有坐騎都是只能跑,不能飛的,而現(xiàn)在很多坐騎在地球都可以飛了。假設(shè),地球時代的坐騎只能跑,而現(xiàn)在的坐騎不僅能飛還能跑,我們可以用類適配模式來實現(xiàn)。
這里需要注意的是,適配器繼承源類,實現(xiàn)目標(biāo)接口
示例代碼如下:

package adapter;

/**
 * DOC 源
 * 
 */
public class Sources {

  public void run() {
    System.out.println("run");
  }

}

package adapter;

/**
 * DOC 目標(biāo)接口
 * 
 */
public interface ITarget {

  public void run();

  public void fly();
}

package adapter;

/**
 * DOC 繼承源類,實現(xiàn)目標(biāo)接口,從而實現(xiàn)類到接口的適配
 * 
 */
public class Adapter extends Sources implements ITarget {

  @Override
  public void fly() {
    System.out.println("fly");
  }

}

2.對象適配模式:

假設(shè)一個適配器要適配多個對象,可以將這些對象引入到適配器里,然后通過調(diào)用這些對象的方法即可。

實現(xiàn)代碼如下::

package adapter;

/**
 * 
 * DOC 源對象,只有跑的功能
 * 
 */
public class Animal {

  public void run() {
    System.out.println("run");
  }
}

package adapter;

/**
 * DOC 目標(biāo)接口,既能跑,又能飛
 * 
 */
public interface ITarget {

  public void run();

  public void fly();
}

package adapter;

/**
 * DOC 通過構(gòu)造函數(shù)引入了源對象,并實現(xiàn)了目標(biāo)的方法
 * 
 */
public class Adapter implements ITarget {

  private Animal animal;

  // private animal animal2....可以適配多個對象

  public Adapter(Animal animal) {
    this.animal = animal;
  }

  /**
   * DOC 拓展接口要求的新方法
   */
  public void fly() {
    System.out.println("fly");
  }

  /**
   * DOC 使用源對象的方法
   */
  public void run() {
    this.animal.run();
  }

}

相關(guān)文章

  • JavaWeb Refresh響應(yīng)頭代碼實例詳解

    JavaWeb Refresh響應(yīng)頭代碼實例詳解

    這篇文章主要介紹了JavaWeb Refresh響應(yīng)頭代碼實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • mybatis-plus常用注解@TableId和@TableField的用法

    mybatis-plus常用注解@TableId和@TableField的用法

    本文主要介紹了mybatis-plus常用注解@TableId和@TableField的用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • IntelliJ IDEA 下載安裝超詳細教程(推薦)

    IntelliJ IDEA 下載安裝超詳細教程(推薦)

    這篇文章主要介紹了IntelliJ IDEA 下載安裝超詳細教程(推薦),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Springboot搭建JVM監(jiān)控(Springboot + Prometheus + Grafana)

    Springboot搭建JVM監(jiān)控(Springboot + Prometheus +&n

    在應(yīng)用開發(fā)時,監(jiān)控報警必不可少,本文主要介紹了Springboot搭建JVM監(jiān)控(Springboot + Prometheus + Grafana),具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 淺析關(guān)于java的序列化和反序列化

    淺析關(guān)于java的序列化和反序列化

    這篇文章主要介紹了淺析關(guān)于java的序列化和反序列化,所謂序列化,就是把要傳輸?shù)膶ο笠约跋嚓P(guān)信息轉(zhuǎn)換成字節(jié)數(shù)組進行存儲的過程,而反序列化就是將字節(jié)數(shù)組再轉(zhuǎn)回對象的過程,需要的朋友可以參考下
    2023-07-07
  • 淺談Java中類的實例化步驟

    淺談Java中類的實例化步驟

    今天小編就為大家分享一篇關(guān)于淺談Java中類的實例化步驟,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • MyBatis利用攔截器實現(xiàn)數(shù)據(jù)脫敏詳解

    MyBatis利用攔截器實現(xiàn)數(shù)據(jù)脫敏詳解

    現(xiàn)代網(wǎng)絡(luò)環(huán)境中,敏感數(shù)據(jù)的處理是至關(guān)重要的,敏感數(shù)據(jù)包括個人身份信息、銀行賬號、手機號碼等,所以本文主要為大家詳細介紹了MyBatis如何利用攔截器實現(xiàn)數(shù)據(jù)脫敏,希望對大家有所幫助
    2023-11-11
  • Java使用Knife4j優(yōu)化Swagger接口文檔的操作步驟

    Java使用Knife4j優(yōu)化Swagger接口文檔的操作步驟

    在現(xiàn)代微服務(wù)開發(fā)中,接口文檔的質(zhì)量直接影響了前后端協(xié)作效率,Swagger 作為一個主流的接口文檔工具,雖然功能強大,但其默認(rèn)界面和部分功能在實際使用中略顯不足,而 Knife4j 的出現(xiàn)為我們提供了一種增強的選擇,本篇文章將詳細介紹如何在項目中集成和使用 Knife4j
    2024-12-12
  • java list常用方法總結(jié)

    java list常用方法總結(jié)

    這篇文章主要介紹了java list常用方法總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Java8新特性O(shè)ptional類處理空值判斷回避空指針異常應(yīng)用

    Java8新特性O(shè)ptional類處理空值判斷回避空指針異常應(yīng)用

    這篇文章主要介紹了Java8新特性O(shè)ptional類處理空值判斷回避空指針異常應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04

最新評論

绥江县| 胶南市| 蕉岭县| 邳州市| 绍兴市| 横峰县| 泽普县| 平阳县| 蚌埠市| 曲松县| 中方县| 扬州市| 泸水县| 井陉县| 乐平市| 太和县| 慈溪市| 铁力市| 大渡口区| 观塘区| 霍山县| 灌南县| 越西县| 马边| 宁城县| 平潭县| 建始县| 老河口市| 咸丰县| 喀喇沁旗| 利川市| 哈密市| 仁化县| 乌拉特后旗| 湘阴县| 万宁市| 醴陵市| 玛曲县| 夏津县| 鹰潭市| 靖西县|