本篇內容介紹了“java適配器模式怎么實現(xiàn)”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為嘉興企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設,嘉興網(wǎng)站改版等技術服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
定義:
將一個類的接口轉換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
角色:
目標(Target)角色:這就是所期待得到的接口,也就是這類的接口是符合我們要求的。
源(Adapee)角色:我們要使用的接口,但是這個接口不符合我們的要求,也就是現(xiàn)在需要適配的接口。
適配器(Adaper)角色:適配器類是適配器模式的核心。適配器把源接口轉換成目標接口。顯然,這一角色不可以是接口,而必須是具體類。
分類:
1, 類適配器模式
class Adaptee {
publicvoid specificRequest() {
System.out.println("特殊請求,這個是源角色");
}
}
/*這個是目標角色,所期待的接口*/
interface Target {
publicvoid request();
}
現(xiàn)在想要實現(xiàn)這個Target接口,但是不想重構,想要用上已有的Adaptee類,這時可以定義一個適配器類,繼承想要使用的類,并且實現(xiàn)期待的接口。
class Adapter extends Adaptee implementsTarget{ publicvoid request() { super.specificRequest(); } }
這樣,使用適配器類和實現(xiàn)目標接口就完成了計劃,測試:
public class Test{ publicstatic void main(String[] args) { //使用特殊功能類,即適配類 Targetadapter = new Adapter(); adapter.request(); } }
2, 對象適配器模式
適配器類關聯(lián)已有的Adaptee類,并且實現(xiàn)標準接口,這樣做的好處是不再需要繼承。
class Adapter implements Target{ privateAdaptee adaptee; publicAdapter (Adaptee adaptee) { this.adaptee= adaptee; } publicvoid request() { this.adaptee.specificRequest(); } }
我們可以想到,此時輸出結果和類適配器模式是相同的,測試:
public class Test{ publicstatic void main(String[] args) { Targetadapter = new Adapter(new Adaptee()); adapter.request(); } }
區(qū)別:
對象的適配器模式不是使用繼承關系連接到Adaptee類,而是使用委派關系連接到Adaptee類。
優(yōu)點:
復用性
系統(tǒng)需要使用現(xiàn)有的類,而此類的接口不符合系統(tǒng)的需要。那么通過適配器模式就可以讓這些功能得到更好的復用。
擴展性
在實現(xiàn)適配器功能的時候,可以自由調用自己開發(fā)的功能,從而自然地擴展系統(tǒng)的功能。
缺點:
過多的使用適配器,會讓系統(tǒng)非常零亂,不易整體進行把握。比如,明明看到調用的是A接口,其實內部被適配成了B接口的實現(xiàn)。所以適配器模式不適合在詳細設計階段使用它,它是一種補償模式,專用來在系統(tǒng)后期擴展、修改時所用。
適用場景:
1、已經(jīng)存在的類的接口不符合我們的需求;
2、創(chuàng)建一個可以復用的類,使得該類可以與其他不相關的類或不可預見的類協(xié)同工作;
3、使用一些已經(jīng)存在的子類而不需要對其進行子類化來匹配接口。
4、舊的系統(tǒng)開發(fā)的類已經(jīng)實現(xiàn)了一些功能,但是客戶端卻只能以另外接口的形式訪問,但我們不希望手動更改原有類的時候。
“java適配器模式怎么實現(xiàn)”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
網(wǎng)站欄目:java適配器模式怎么實現(xiàn)
文章位置:http://m.rwnh.cn/article36/gspipg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、小程序開發(fā)、服務器托管、標簽優(yōu)化、網(wǎng)站營銷、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)