介面卡模式Adapter

2021-08-15 08:29:14 字數 3262 閱讀 7658

(1)想要使用乙個已經存在的類,但是它卻不符合現有的介面規範,導致無法直接去訪問,這時建立乙個介面卡就能間接去訪問這個類中的方法。

(2)我們有乙個類,想將其設計為可重用的類(可被多處訪問),我們可以建立介面卡來將這個類來適配其他沒有提供合適介面的類。

(1)想要使用介面中的某個或某些方法,但是介面中有太多方法,我們要使用時必須實現介面並實現其中的所有方法,可以使用抽象類來實現介面,並不對方法進行實現(僅置空),然後我們再繼承這個抽象類來通過重寫想用的方法的方式來實現。這個抽象類就是介面卡。

/**

* usb a

* *@title

*@description

*@since jdk1.8

*/public

inte***ce

usba

/**

* usb a 實現類

* *@title

*@description

*@since jdk1.8

*/@service

public

class

usbaimpl

implements

usba

}

/**

* usb b

* *@title

*@description

*@since jdk1.8

*/public

inte***ce

usbb

/**

* usb b 實現類(介面卡類)

* *@title

*@description

*@since jdk1.8

*/@service

public

class

usbbimpl

extends

usbaimpl

implements

usbb

}

/**

* 測試類

*@title

*@description

*@since jdk1.8

*/public

class

test

}

/**

* 電源a

* *@title

*@description

*@since jdk1.8

*/public

inte***ce

powera

/**

* 電源a的實現類

* *@title

*@description

*@since jdk1.8

*/@service

public

class

poweraimpl

implements

powera

}

/**

* 電源b

* *@title

*@description

*@since jdk1.8

*/public

inte***ce

powerb

/**

* 電源b實現類

* *@title

*@description

*@since jdk1.8

*/@service

public

class

powerbimpl

implements

powerb

}

/**

* 介面卡

* *@title

*@description

*@since jdk1.8

*/public

class

poweraadapter

implements

powera

@override

public

void

insert()

}

/**

* 測試類

* *@title

*@description

*@since jdk1.8

*/public

class

adapterdemo

}

/**

* 日常操作

* *@title

*@description

*@since jdk1.8

*/public

inte***ce

lifeoperation

/**

* 抽象類(此處是介面卡功能)

* *@title

*@description

*@since jdk1.8

*/public

abstract

class

abstractlifeoperation

implements

lifeoperation

@override

public

void

drink()

@override

public

void

play()

@override

public

void

work()

}

/**

* 通過方法重寫實現只執行自己想要的

* *@title

*@description

*@since jdk1.8

*/@service

public

class

xiaominglifeoperation

extends

abstractlifeoperation

}

/**

* 測試類

* *@title

*@description

*@since jdk1.8

*/public

class

test

}

介面卡模式 Adapter

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

Adapter 介面卡模式

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

Adapter介面卡模式

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