兩種方式實現介面卡

2022-09-12 18:03:31 字數 1286 閱讀 4608

1.通過繼承的方式

2.通過組合的方式

package

adapter;

/*** print是客戶需要使用的介面 */

public

inte***ce

print

package

adapter;

/*** banner是原始的介面 */

public

class

banner

public

void

showwithparen()

public

void

showwithaster()

}

package

adapter;

/*** printbanner是介面卡,將banner適配為print

* 此種方式是運用繼承的方式實現的介面卡 */

public

class printbanner extends banner implements

print

@override

public

void

printweak()

@override

public

void

printstrong()

}

package

adapter;

/*** 該種方式是使用委託(組合)的方式實現介面卡

* */public

class printbanner2 implements

print

@override

public

void

printweak()

@override

public

void

printstrong()

}

package

adapter;

/*** 偉大的客戶 */

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模式使得由於介面不相容的不能一起工作的那些類可以一起工作。使用場景 主要應用於希望復用一些現存的類,但是介面又與復用環境要求不一致的情況。說明 根據使用場景可以推斷出介面卡模式一般不是在軟體設計初期設計的,而...