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

Java適配器模式定義與用法示例

 更新時間:2017年06月07日 08:27:35   作者:qq7342272  
這篇文章主要介紹了Java適配器模式定義與用法,結合具體實例形式分析了java適配器模式的功能、組成、定義、使用方法及適配程度等,需要的朋友可以參考下

本文實例講述了Java適配器模式定義與用法。分享給大家供大家參考,具體如下:

將一個類的接口轉換成客戶想要的另一個接口,適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作

適配器一共包括3種角色

1、目標:目標是一個接口,該接口是客戶想使用的接口

2、被適配者:被適配者是一個已存在的接口或抽象類,這個接口或抽象類需要適配

3、適配器:適配器是一個類,該類實現(xiàn)了目標接口并包含有被適配者的引用,即適配者的指著是對被適配者接口與目標進行適配

package org.zhy.adapter;
/**
 * 目標
 * @author zhengyi
 *
 */
public interface ThreeElectricOutlet {
  //用來刻畫三相插座
  public abstract void connectElectricCurrent();
}

package org.zhy.adapter;
/**
 * 適配器
 * @author zhengyi
 *
 */
public class TreeElecricAdapter implements ThreeElectricOutlet {
  TwoElectricOutlet outlet;
  public TreeElecricAdapter(TwoElectricOutlet teo) {
    this.outlet=teo;
  }
  @Override
  public void connectElectricCurrent() {
    outlet.connectElectricCurrent();
  }
}

package org.zhy.adapter;
/**
 * 被適配者
 * @author zhengyi
 *
 */
public interface TwoElectricOutlet {
  //刻畫兩相插座
  public abstract void connectElectricCurrent();
}

package org.zhy.adapter;
public class Appliction {
  public static void main(String[] args) {
    ThreeElectricOutlet outlet; //目標接口三相插座
    Wash wash=new Wash();
    outlet=wash;
    System.out.println("使用三相插座接通電流");
    outlet.connectElectricCurrent();
    Tv tv=new Tv();
    TreeElecricAdapter adapter=new TreeElecricAdapter(tv);
    outlet= adapter;
    System.out.println("使用三相插座接通電流");
    outlet.connectElectricCurrent();
  }
}

package org.zhy.adapter;
/**
 * 洗衣機
 * @author zhengyi
 *
 */
public class Wash implements ThreeElectricOutlet {
  private String name;
  public Wash() {
    name="洗衣機";
  }
  public Wash(String name){
    this.name=name;
  }
  @Override
  public void connectElectricCurrent() {
    turnOn();
  }
  private void turnOn(){
    System.out.println(name+"開始洗衣服");
  }
}

package org.zhy.adapter;
/**
 * 電視
 * @author zhengyi
 *
 */
public class Tv implements TwoElectricOutlet {
  private String name;
  public Tv() {
    name="長江電視機";
  }
  public Tv(String s){
    this.name=s;
  }
  @Override
  public void connectElectricCurrent() {
    turnOn();
  }
  private void turnOn(){
    System.out.println(name+"開始播放節(jié)目");
  }
}

適配器的適配程度

1、完全適配

如果目標接口中的方法數(shù)目與被適配者接口的方法數(shù)目相等那么適配器可將被適配者接口與目標接口進行完全適配

2、不完全適配

如果目標接口中的方法數(shù)目少于被適配者接口的方法數(shù)目那么適配器只能將被適配者接口與目標接口進行適配

3、剩余適配

如果目標接口中的方法數(shù)目大于被適配者接口的方法數(shù)目。那么適配器可將被適配者接口與目標接口進行完全適配,但必須將目標多余的方法給出用戶允許默認實現(xiàn)

適配器模式的優(yōu)點

1、目標和適配者是完全解耦的關系

2、適配器模式滿足“開-閉原則”當添加一個實現(xiàn)Adaptee接口的新類時,不必修改Adaptee,而Adaptee就能對這個新類的實例進行適配

更多java相關內容感興趣的讀者可查看本站專題:《Java數(shù)據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • Springboot+Bootstrap實現(xiàn)增刪改查實戰(zhàn)

    Springboot+Bootstrap實現(xiàn)增刪改查實戰(zhàn)

    這篇文章主要介紹了Springboot+Bootstrap實現(xiàn)增刪改查實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • java導出大批量(百萬以上)數(shù)據的excel文件

    java導出大批量(百萬以上)數(shù)據的excel文件

    這篇文章主要為大家詳細 介紹了java導出大批量即百萬以上數(shù)據的excel文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • mybatis自動填充時間字段示例代碼

    mybatis自動填充時間字段示例代碼

    這篇文章主要給大家介紹了關于mybatis自動填充時間字段的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • Java?ArrayList集合之解鎖數(shù)據存儲新姿勢

    Java?ArrayList集合之解鎖數(shù)據存儲新姿勢

    這篇文章主要介紹了Java?ArrayList集合之解鎖數(shù)據存儲新姿勢,ArrayList是一個動態(tài)數(shù)組,可以自動調整大小,并提供了豐富的操作方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • java spring整合junit操作(有詳細的分析過程)

    java spring整合junit操作(有詳細的分析過程)

    這篇文章主要介紹了java spring整合junit操作(有詳細的分析過程),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java實現(xiàn)桌面右下角彈窗效果

    java實現(xiàn)桌面右下角彈窗效果

    這篇文章主要為大家詳細介紹了java實現(xiàn)桌面右下角彈窗效果,模仿類似于qq消息彈窗,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • java實現(xiàn)簡單汽車租賃系統(tǒng)

    java實現(xiàn)簡單汽車租賃系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • Spring?boot?Jpa添加對象字段使用數(shù)據庫默認值操作

    Spring?boot?Jpa添加對象字段使用數(shù)據庫默認值操作

    這篇文章主要介紹了Spring?boot?Jpa添加對象字段使用數(shù)據庫默認值操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • grade構建閱讀spring源碼環(huán)境 Idea2020.3的過程

    grade構建閱讀spring源碼環(huán)境 Idea2020.3的過程

    這篇文章主要介紹了grade構建閱讀spring源碼環(huán)境 Idea2020.3,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • gradle使用maven-publish發(fā)布jar包上傳到私有maven配置

    gradle使用maven-publish發(fā)布jar包上傳到私有maven配置

    這篇文章主要介紹了gradle使用maven-publish發(fā)布jar包上傳到私有maven的配置示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03

最新評論

石阡县| 钟祥市| 视频| 来安县| 丹阳市| 苏尼特左旗| 广州市| 淮南市| 高碑店市| 垣曲县| 读书| 汉阴县| 华阴市| 林西县| 龙南县| 连平县| 山东省| 开平市| 维西| 漳浦县| 阳山县| 灵武市| 历史| 邯郸市| 昭苏县| 莫力| 慈溪市| 衡阳市| 永嘉县| 凤阳县| 怀柔区| 青海省| 江油市| 桂林市| 双城市| 容城县| 盐亭县| 宣城市| 宜君县| 象山县| 武汉市|