介面卡模式

2021-08-17 01:48:22 字數 1611 閱讀 4588

介面卡模式:將乙個類的介面轉換成客戶希望的另外乙個介面,adapter模式使得原本由於介面不相容而不能一起工作的哪些類可以一起工作。

介面卡模式有三種不同的類別,分別是:類介面卡模式、物件的介面卡模式、介面的介面卡模式。

適配前介面

public

inte***ce voltage220

適配後介面

public

inte***ce voltage5

適配前實現:

public

class

voltageimpl220

implements

voltage220

}

類介面卡

public

class

adapter

extends

voltageimpl220

implements

voltage5

}

介面卡使用類

public

class phone

}

這種類介面卡寫法需要繼承適配前類,這不易於擴充套件,有一定侷限性。

適配原型與適配後沒有改變只改變了介面卡的寫法

public

class

adapter2

implements

voltage5

@override

public

intput5()

return v;

}}

物件介面卡和類介面卡其實算是同一種思想,只不過實現方式不同。

根據合成復用原則,組合大於繼承,

所以它解決了類介面卡必須繼承適配前類的侷限性問題,也不再強求適配後必須是介面。

同樣的它使用成本更低,更靈活。

我們看一下**:

public

inte***ce person

public

abstract

class

adapterperson

implements

person

@override

public

void

run()

@override

public

void

sleep()

@override

public

void

eat()

}

public

class candyparty

};xiaohong.eat();

}}

這樣是不是我們只需要實現我們所需要的吃介面就ok了?這樣簡單明亮。

優點:

1. 可以讓任何兩個沒有關聯的類一起執行。

2. 提高了類的復用。

3. 增加了類的透明度。

4. 靈活性好。

這個模式真的太好理解了就不做太多的解釋了。

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

做個筆記 引用 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...