介面卡模式——把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式有類的介面卡模式和物件的介面卡模式兩種形式。
類的介面卡模式
class test
public class twohole
}public class threehole : twohole,ithreehole
}/// /// virtual方法可以被重寫,abstract必須被重寫
/// abstract和介面inte***ce很像,使用inte***ce為了實現多繼承
/// public abstract void test()方法後面直接括號
/// public virtual void test(){}方法必須有實現,哪怕只是一對括號
///
public inte***ce ithreehole
/*從上面**中可以看出,客戶端希望呼叫request方法(即三個孔插頭),
* 但是我們現有的類(即2個孔的插頭)並沒有request方法,
* 它只有twoholefun方法(即兩個孔插頭本身的方法),
* 然而介面卡類(介面卡必須實現三個孔插頭介面和繼承兩個孔插頭類)
* 可以提供這種轉換,它提供了request方法的實現(其內部呼叫的是兩個孔插頭,
* 因為介面卡只是乙個外殼罷了,包裝著兩個孔插頭(因為只有這樣,電器才能使用),
* 並向外界提供三個孔插頭的外觀,)以供客戶端使用。*/
}
物件的介面卡模式
class test
public class twohole
}public class threehole
}public class adapt : threehole
}
}
類的介面卡模式:
優點:
缺點:
物件的介面卡模式
優點:
缺點:
設計模式 五 介面卡模式
package zzq.designpatterns.structuralpattern 介面卡模式 adapter 的定義如下 將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類能一起工作。介面卡模式分為類結構型模式和物件結構型模式兩種,前者類之間的耦合度比後...
設計模式(五) 介面卡模式
1.描述 將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面比相容而不能一起工作的那些類可以一起工作。2.優點 目標 target 與被適配者 adaptee 是完全解耦關係。滿足 開閉原則 3.使用情景 乙個程式想使用已存在的類,但該類所實現的介面和當前程式所使用的介面不...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...