介面卡模式

2021-08-07 05:59:15 字數 1222 閱讀 1526

介面卡模式將乙個類的介面轉換成客戶期望的另乙個介面,讓原本不相容的介面可以合作無間。

介面卡模式有三個特點:

介面卡物件實現原有介面

介面卡物件組合乙個實現新介面的物件(這個物件可以不識閒乙個介面,只是乙個單純的物件)

對介面卡原有介面方法的呼叫被委託給新介面的例項的特定方法

下面我們舉乙個充電器的例子,比如我們去美國旅遊,我們來到一家旅店需要用美國充電器才能充電,而我們帶的是中國的充電器,那麼我們在美國的旅館就用不成,我們就需要乙個介面卡來把我們的中國充電器包裝成美國充電器。

先定義乙個美國充電器介面

public

inte***ce

iamerciacharger

然後需要乙個美國充電器來實現這個類

public

class

amerciacharger

implements

iamerciacharger

}

然後是乙個美國旅館

public

class

hotel

public

void

setcharger(iamerciacharger charger)

//在美國充電

public

void

power()

}

然後是我們的中國充電器介面

public

inte***ce

ichinacharger

下面是中國充電器的實現

public

class

implements

ichinacharger

}

然後是我們的介面卡類,把我們中國充電器包裝成美國充電器,然後以假亂真在旅館充電

public

class

adapter

implements

iamerciacharger

@override

public

void

charge()

}

然後就是測試類

public

class

test

}

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

做個筆記 引用 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 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...