1. 程式人生 > >設計模式:介面卡模式

設計模式:介面卡模式

舉例:

            在國外買了一個筆記本mac pro  但是充電器是110V的,在國內都是220V的,如何解決?

            此時就想買個介面卡將220V轉110V,

            但是不需要寫裡面的怎麼將220 轉110的,這都有現成的方法

             接下來是見證奇蹟的時刻。。。。

介面卡模式:

  分為類的介面卡 與方法的介面卡;

類的介面卡是需要繼承+實現的,方法介面卡只需要將類變數傳入到adapter 類中即可,就能實現類的轉換

public interface Target {
    //將220V轉110v
    public void converTo_110V();
}

//--------------

public class PowerPort220 {

    // 源插頭只能輸出220V,
    public  void  output220(){
        System.out.println("輸出220v");
    }
}


//--------


public class Adatpert220 extends PowerPort220 implements Target {
     //繼承+實現 這個是介面卡模式的關鍵所在,

    @Override
    public void converTo_110V() {
        // 這裡只需源輸入的變數,然後進行業務轉換,給我220V,我用coverto110V進行相關操作
        this.output220();
    }
}


//-----

public class TestMain {
    public static void main(String[] args) {
        Target adapter220 = new Adatpert220();
        adapter220.converTo_110V();// 這裡成功轉換
    }
}

一個完美的例項,好好理解! 

收工!