天天看點

學懂之擴充卡模式定義實戰

定義

擴充卡模式是指将一個類的接口轉換成客戶期望的另一個接口,使原本的接口不相容的類可以一起工作,屬于結構型設計模式。

實戰

将兩種完全不同的事物聯系到一起,就像現實生活中的變壓器。假設一個手機充電器需要的電壓是20V,但是正常的電壓是220V,這時候就需要一個變壓器,将220V的電壓轉換成20V的電壓,這樣,變壓器就将20V的電壓和手機聯系起來了。

package xc01;

public class Test {
    public static void main(String[] args) {
        Phone phone = new Phone();
        VoltageAdapter adapter = new VoltageAdapter();
        phone.setAdapter(adapter);
        phone.charge();
    }
}

/**
 * 手機類
 */
class Phone{

    public static final int V = 220;//正常電壓220v,是一個常量

    private VoltageAdapter adapter;

    /**
     * 充電
     */
    public void charge(){
        adapter.changeVoltage();
    }

    public void setAdapter(VoltageAdapter adapter) {
        this.adapter = adapter;
    }
}

/**
 * 變壓器
 */
class VoltageAdapter{

    /**
     * 改變電壓的功能
     */
    public void changeVoltage(){
        System.out.println("正在充電...");
        System.out.println("原始電壓:" + Phone.V +"V");
        System.out.println("經過變壓器轉換之後的電壓:"+(Phone.V-200)+"V");
    }

}

           

繼續閱讀