9 介面卡模式 Adapter Pattern

2021-09-29 06:37:28 字數 1900 閱讀 9040

物件介面卡模式

生活場景

被適配者adaptee

目標介面target

適配者adapter

建立被適配者

//被適配者

public

class

adaptee

}

建立目標介面

//目標介面

public

inte***ce

target

建立具體的目標類

//具體目標類

public

class

concretetarget

implements

target

}

建立適配者,繼承被適配者,實現目標介面方法

//通過adapter把adaptee.apapteerequest()適配給了target.request()

public

class

adapter

extends

adaptee

implements

target

}

通過類圖我們可以看出,adapter(適配者)繼承了adaptee(被適配者)同時實現了target(目標介面)。這樣target其實是有兩種實現的,一種是concretetarget(具體目標實現),另乙個種是通過adapter適配成adaptee.apapteerequest()實現

測試**

public

class

test

}

執行結果

concretetarget 目標方法

被適配者的方法

對與從類介面卡模式到物件介面卡模式的演進,我們的被適配者adaptee和目標target是都不會發生改變的。我們只需要修改適配者adapter即可

我們只會實現target介面。通過組合的方式。把具體的requet()委託給adaptee來實現。

與類介面卡模式相同

執行結果不變

concretetarget 目標方法

被適配者的方法

手機充電。民用電是220v的交流電,假設我們手機充電需要5v的直流電。並且手機會帶電源介面卡,它的作用就是把220v的交流電轉化成5v的直流電。我們用物件介面卡模擬這個生活場景。(在繼承和組合的時候我們優先選擇組合)

建立被適配者 220v交流電

public

class

ac220

}

目標 輸出5v的直流電

public

inte***ce

dc5

適配者 電源介面卡

public

class

poweradapter

implements

dc5

test

public

class

test

}

執行結果

輸出民用交流電220v

電源介面卡: 輸入交流電:220v,輸出直流電:5v

設計模式9 介面卡模式

介面卡分為,類介面卡 物件適配 介面適配方式 類介面卡方式採用繼承方式,物件適配方式使用建構函式傳遞 我們就拿日本電飯煲的例子進行說明,日本電飯煲電源介面標準是110v電壓,而中國標準電壓介面是220v,所以要想在中國用日本電飯煲,需要乙個電源轉換器。我們先定義日本220v電源介面和實現。日本110...

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...

介面卡模式 預設介面卡,類介面卡,物件介面卡

模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...