Adapter 適配器模式筆記–java實現(電來源配接器樣本)

來源:互聯網
上載者:User

適配器模式有兩種:

1.第一種

適配後的程式調用 的介面

package AdapterDesign1;public interface Target {void get18V();void get33V();void get0V();}

被適配的對象

package AdapterDesign1;public class Adaptee {protected int get220V(){return 220;}}

適配器

package AdapterDesign1;public class Adapter extends Adaptee implements Target {@Overridepublic void get0V() {//不需要家用點提供可直接返回,即返回0System.out.println("無電壓");}@Overridepublic void get18V() {System.out.println("通過適配器將"+this.get220V()+"適配為18V");}@Overridepublic void get33V() {System.out.println("通過適配器將"+this.get220V()+"適配為33V");}}

測試方法:

package AdapterDesign1;public class MyMain {/**  適配器模式  類比:  電來源配接器  adaptee:家用點220V  Target:獲得安全電壓,18V   Adapter:電來源配接器 */public static void main(String[] args) {Target t=new Adapter();t.get18V();t.get33V();}}

2.第二種

適配後的程式調用 的介面

package AdapterDesign1;public interface Target {void get18V();void get33V();void get0V();}

被適配的兩個adaptee對象

package AdapterDesign2;public class Adaptee1 {@Overridepublic String toString() {return "交流";}protected int get220V(){return 220;}}

package AdapterDesign2;public class Adaptee2 {@Overridepublic String toString() {return "直流";}protected int get220V(){return 220;}}

適配器

package AdapterDesign2;public class Adapter implements Target {Adaptee1 adaptee1;Adaptee2 adaptee2;public Adapter(){adaptee1=new Adaptee1();adaptee2=new Adaptee2();}@Overridepublic void get0V() {//不需要家用點提供可直接返回,即返回0System.out.println("無電壓");}@Overridepublic void get18V() {System.out.println("通過適配器將"+adaptee1+adaptee1.get220V()+"適配為18V");}@Overridepublic void get33V() {System.out.println("通過適配器將"+adaptee2+adaptee2.get220V()+"適配為33V");}}

測試代碼:

package AdapterDesign2;public class MyMain {/**  適配器模式  類比:  電來源配接器  adaptee:家用點220V  Target:獲得安全電壓,18V   Adapter:電來源配接器 */public static void main(String[] args) {Target t=new Adapter();t.get18V();t.get33V();}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.