溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中怎么實(shí)現(xiàn)適配器模式

發(fā)布時(shí)間:2021-07-01 17:20:15 來源:億速云 閱讀:162 作者:Leah 欄目:編程語言

本篇文章為大家展示了Java中怎么實(shí)現(xiàn)適配器模式,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1、類適配模式

在地球時(shí)代,所有坐騎都是只能跑,不能飛的,而現(xiàn)在很多坐騎在地球都可以飛了。假設(shè),地球時(shí)代的坐騎只能跑,而現(xiàn)在的坐騎不僅能飛還能跑,我們可以用類適配模式來實(shí)現(xiàn),要點(diǎn)是,適配器繼承源類,實(shí)現(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 繼承源類,實(shí)現(xiàn)目標(biāo)接口,從而實(shí)現(xiàn)類到接口的適配   *    */ public class Adapter extends Sources implements ITarget {       @Override     public void fly() {          System.out.println("fly");      }  }

2、對(duì)象適配模式

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

package adapter;   /**   *    * DOC 源對(duì)象,只有跑的功能   *    */ 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ù)引入了源對(duì)象,并實(shí)現(xiàn)了目標(biāo)的方法   *    */ public class Adapter implements ITarget {       private Animal animal;       // private animal animal2....可以適配多個(gè)對(duì)象       public Adapter(Animal animal) {          this.animal = animal;      }       /**       * DOC 拓展接口要求的新方法       */     public void fly() {          System.out.println("fly");      }       /**       * DOC 使用源對(duì)象的方法       */     public void run() {          this.animal.run();      }  }

上述內(nèi)容就是Java中怎么實(shí)現(xiàn)適配器模式,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI