1.通過繼承的方式
2.通過組合的方式
packageadapter;
/*** print是客戶需要使用的介面 */
public
inte***ce
packageadapter;
/*** banner是原始的介面 */
public
class
banner
public
void
showwithparen()
public
void
showwithaster()
}
packageadapter;
/*** printbanner是介面卡,將banner適配為print
* 此種方式是運用繼承的方式實現的介面卡 */
public
class printbanner extends banner implements
@override
public
void
printweak()
@override
public
void
printstrong()
}
packageadapter;
/*** 該種方式是使用委託(組合)的方式實現介面卡
* */public
class printbanner2 implements
@override
public
void
printweak()
@override
public
void
printstrong()
}
packageadapter;
/*** 偉大的客戶 */
public
class
client
}
執行結果:*hello adapter model of inherit*
(hello adapter model of inherit)
*hello adapter model of combination*
(hello adapter model of inherit)
兩種介面卡模式
介面卡模式用來解決兩個類的介面不匹配但是還想相互呼叫的情況,比如下面這個情況 target無法直接呼叫specificrequest 不相容 那麼,解決方案是 用乙個介面卡來將介面與具體的方法結合起來。這裡有兩種方案 類介面卡就是,我讓adapter來繼承adaptee,實現target,宣告的時候...
STL 介面卡實現
函式介面轉函式物件介面的介面卡 內部呼叫引數為指標型別 template class const mem fun t public unary function ret operator const tp p const private ret tp m f const const函式介面轉函式物件...
介面卡模式(C 實現)
本部落格旨在個人總結回顧 介面卡模式 將乙個類介面轉為換客戶希望的另乙個介面。adapter模式使得由於介面不相容的不能一起工作的那些類可以一起工作。使用場景 主要應用於希望復用一些現存的類,但是介面又與復用環境要求不一致的情況。說明 根據使用場景可以推斷出介面卡模式一般不是在軟體設計初期設計的,而...