您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何在Java項目中使用適配器模式,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
適配器一共包括3種角色
1、目標:目標是一個接口,該接口是客戶想使用的接口
2、被適配者:被適配者是一個已存在的接口或抽象類,這個接口或抽象類需要適配
3、適配器:適配器是一個類,該類實現了目標接口并包含有被適配者的引用,即適配者的指著是對被適配者接口與目標進行適配
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+"開始播放節目"); } }
適配器的適配程度
1、完全適配
如果目標接口中的方法數目與被適配者接口的方法數目相等那么適配器可將被適配者接口與目標接口進行完全適配
2、不完全適配
如果目標接口中的方法數目少于被適配者接口的方法數目那么適配器只能將被適配者接口與目標接口進行適配
3、剩余適配
如果目標接口中的方法數目大于被適配者接口的方法數目。那么適配器可將被適配者接口與目標接口進行完全適配,但必須將目標多余的方法給出用戶允許默認實現
適配器模式的優點
1、目標和適配者是完全解耦的關系
2、適配器模式滿足“開-閉原則”當添加一個實現Adaptee接口的新類時,不必修改Adaptee,而Adaptee就能對這個新類的實例進行適配
上述內容就是如何在Java項目中使用適配器模式,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。