介面卡模式(Adapter)

2021-08-09 04:55:50 字數 2568 閱讀 5039

1.意圖

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

2.特點

介面卡模式主要用於相容原系統使用,在不改動原系統類的情況進行適配

類介面卡模式:

1.新建目標介面包含原有類的方法和新方法。

2.新建適配類 繼承原有類,實現目標介面。

物件介面卡模式:

1.新建適配類實現目標介面,持有原有類作為屬性。定義原有類的方法和新方法。

2.通過適配類的例項,呼叫原有類方法。

介面介面卡模式:用於介面的抽象方法多,而具體只關注某些方法。

1.新建適配類實現 原有介面

2.新建具體類 繼承適配類,重寫某些方法。

3.uml類圖

類介面卡

物件介面卡

介面介面卡

類介面卡

/**

* created by lyy on 17-7-12.

* 待適配類

*/public

class

source

}/**

* created by lyy on 17-7-12.

* 目標介面

*/public

inte***ce

targetable

/** * created by lyy on 17-7-12.

* 適配類 繼承 source 實現 targetable

*/public

class

adapter

extends

source

implements

targetable

}

物件介面卡

/**

* created by lyy on 17-7-12.

* 待適配類

*/public

class

source

}/**

* created by lyy on 17-7-12.

* 目標介面

*/public

inte***ce

targetable

/** * created by lyy on 17-7-12.

* 物件介面卡 持有待適配類例項 實現目標介面

*/public

class

adapterobject

implements

targetable

@override

public

void

method1()

@override

public

void

method2()

}

介面介面卡

/**

* created by lyy on 17-7-12.

* 目標介面

*/public

inte***ce

sourceable

/** * created by lyy on 17-7-12.

* 適配類 實現目標介面

*/public

class

implements

sourceable

@override

public

void

method2()

}/**

* created by lyy on 17-7-12.

* 具體實現類

*/public

class

sourcesub1

extends

@override

public

void

method1()

}/**

* created by lyy on 17-7-12.

* 具體實現類

*/public

class

sourcesub2

extends

@override

public

void

method2()

}

介面卡測試類

public

class adaptertest

}

介面卡模式 Adapter

一句話 什麼是adapter adapter 就是乙個轉換器,比如乙個電源插頭可以讓乙個兩插頭的電器使用牆壁上的三插頭電源。這次的介紹將不寫 雖然設計模式是為了 而生,但我認為這是一種看世界的方法,不僅僅是一種 的設計方式,所以這次的介面卡模式因為比較簡單和容易理解就不再寫 解釋,但介面卡的思想能用...

Adapter 介面卡模式

1.概念 介面卡模式 adapter pattern gof95 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。2.兩種形式 a.類的介面卡模式 b.物件的介面卡模式 3.模擬問題 現在假設我們的程式已經設計了介面request介面,但是...

Adapter介面卡模式

adapter介面卡模式是一種結構型模式,主要應對 由於應用環境的變化,常常需要將 一些現存的物件 放在新的環境中應用,但是,新環境要求的介面是現存物件所不滿足的。設計模式 中說道 將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的類可以一起工作。在實...