設計模式中的介面卡模式

2021-07-13 15:05:08 字數 939 閱讀 7590

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

比如:現在有個手機要充電,手機是5v的介面,我要用電源是220v的powera介面去充電,即呼叫power的方法charge(),然而charge()只提供220v電源,

而我們還有個5v的powerb介面:有方法charge()

假如這段**已經寫好了我就是要用powera這個介面去充電或者現在只有這個powera介面:powera p=...

p.charge();

但是又不匹配怎麼辦呢?

這時我們可用個介面卡adapter去繼承powera,重寫其中的charge()方法,使其呼叫已有的5v powerb介面中的charge()方法:

privatepowerb powerb;//例項adapter時就例項它

charge()

這樣我們就可以用原來介面powera了:

powera p=newadapter();

p.charge();

所以這個介面卡就能讓我們使用已有的類powerb,又可用原來的介面powera。其實將一些現實情況結合模式去想更令我們清楚如何解決實際問題。

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

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

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式 介面卡模式

01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...