java適配器模式怎么實現

本篇內容介紹了“java適配器模式怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創新互聯長期為千余家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為嘉興企業提供專業的網站制作、網站建設,嘉興網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。

定義:

將一個類的接口轉換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

角色:

目標(Target)角色:這就是所期待得到的接口,也就是這類的接口是符合我們要求的。

源(Adapee)角色:我們要使用的接口,但是這個接口不符合我們的要求,也就是現在需要適配的接口。

適配器(Adaper)角色:適配器類是適配器模式的核心。適配器把源接口轉換成目標接口。顯然,這一角色不可以是接口,而必須是具體類。

分類:

1,  類適配器模式

class Adaptee {        
   publicvoid specificRequest() {         System.out.println("特殊請求,這個是源角色");    } }
/*這個是目標角色,所期待的接口*/

interface Target {        
   publicvoid request(); }

   現在想要實現這個Target接口,但是不想重構,想要用上已有的Adaptee類,這時可以定義一個適配器類,繼承想要使用的類,并且實現期待的接口。

class Adapter extends Adaptee implementsTarget{
         publicvoid request() {
                   super.specificRequest();
         }
}

這樣,使用適配器類和實現目標接口就完成了計劃,測試:

public class Test{
         publicstatic void main(String[] args) {
                   //使用特殊功能類,即適配類
                   Targetadapter = new Adapter();
                   adapter.request();
         }
}

2,  對象適配器模式

適配器類關聯已有的Adaptee類,并且實現標準接口,這樣做的好處是不再需要繼承。

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();
         }
}

區別:

  對象的適配器模式不是使用繼承關系連接到Adaptee類,而是使用委派關系連接到Adaptee類。

優點:

復用性

系統需要使用現有的類,而此類的接口不符合系統的需要。那么通過適配器模式就可以讓這些功能得到更好的復用。

擴展性

在實現適配器功能的時候,可以自由調用自己開發的功能,從而自然地擴展系統的功能。

缺點:

    過多的使用適配器,會讓系統非常零亂,不易整體進行把握。比如,明明看到調用的是A接口,其實內部被適配成了B接口的實現。所以適配器模式不適合在詳細設計階段使用它,它是一種補償模式,專用來在系統后期擴展、修改時所用。

適用場景:

1、已經存在的類的接口不符合我們的需求;

2、創建一個可以復用的類,使得該類可以與其他不相關的類或不可預見的類協同工作;

3、使用一些已經存在的子類而不需要對其進行子類化來匹配接口。

4、舊的系統開發的類已經實現了一些功能,但是客戶端卻只能以另外接口的形式訪問,但我們不希望手動更改原有類的時候。

“java適配器模式怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

網站欄目:java適配器模式怎么實現
文章位置:http://m.kartarina.com/article36/gspipg.html

成都網站建設公司_創新互聯,為您提供面包屑導航小程序開發服務器托管標簽優化網站營銷軟件開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 久久久久久AV无码免费网站下载| 东京热HEYZO无码专区| 无码H肉动漫在线观看| 亚洲AV日韩AV永久无码下载| 中文字幕无码乱码人妻系列蜜桃| 国产高清不卡无码视频| 亚洲Av综合色区无码专区桃色| 亚洲综合无码无在线观看| 久久久久亚洲AV无码专区网站| 精品久久久久久无码专区| 一本大道无码人妻精品专区| 高清无码v视频日本www| 亚洲日产无码中文字幕| 精品无码久久久久久久久| 日韩乱码人妻无码中文字幕| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 国产午夜无码精品免费看动漫| 免费无码肉片在线观看| 无码乱肉视频免费大全合集| 国产成人无码一区二区三区 | 亚洲精品无码专区2| 亚洲av无码电影网| 无码人妻精品一区二区三区东京热 | 免费看无码特级毛片| 伊人久久一区二区三区无码| 无码少妇一区二区三区浪潮AV| 亚洲无码黄色网址| 亚洲精品无码久久久久AV麻豆| 好爽毛片一区二区三区四无码三飞 | 黑人无码精品又粗又大又长| 西西大胆无码视频免费| 无码乱码av天堂一区二区| 麻豆国产精品无码视频| 老司机亚洲精品影院无码| 无码精品久久久久久人妻中字| 亚洲va无码专区国产乱码| 丰满熟妇乱又伦在线无码视频| 国产精品99精品无码视亚| 中文字幕av无码一区二区三区电影| 日韩人妻无码一区二区三区久久99 | 午夜爽喷水无码成人18禁三级|