真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java適配器模式的示例分析

這篇文章主要為大家展示了“java適配器模式的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“java適配器模式的示例分析”這篇文章吧。

為昌都等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及昌都網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站設(shè)計、昌都網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

定義:

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

角色:

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

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

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

分類:

1、類適配器模式

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

interface Target {     
  publicvoid request();
}

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

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

這樣,使用適配器類和實(shí)現(xiàn)目標(biāo)接口就完成了計劃,測試:

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

2、對象適配器模式

適配器類關(guān)聯(lián)已有的Adaptee類,并且實(shí)現(xiàn)標(biāo)準(zhǔn)接口,這樣做的好處是不再需要繼承。

class Adapter implements Target{
     privateAdaptee adaptee;

     publicAdapter (Adaptee adaptee) {
          this.adaptee= adaptee;
     }

     publicvoid request() {
          this.adaptee.specificRequest();
     }
}

我們可以想到,此時輸出結(jié)果和類適配器模式是相同的,測試:

public class Test{
     publicstatic void main(String[] args) {
          Targetadapter = new Adapter(new Adaptee());
          adapter.request();
     }
}

區(qū)別:

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

優(yōu)點(diǎn): 

復(fù)用性

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

擴(kuò)展性

在實(shí)現(xiàn)適配器功能的時候,可以自由調(diào)用自己開發(fā)的功能,從而自然地擴(kuò)展系統(tǒng)的功能。 

缺點(diǎn):

過多的使用適配器,會讓系統(tǒng)非常零亂,不易整體進(jìn)行把握。比如,明明看到調(diào)用的是A接口,其實(shí)內(nèi)部被適配成了B接口的實(shí)現(xiàn)。所以適配器模式不適合在詳細(xì)設(shè)計階段使用它,它是一種補(bǔ)償模式,專用來在系統(tǒng)后期擴(kuò)展、修改時所用。 

適用場景: 

1、已經(jīng)存在的類的接口不符合我們的需求;
2、創(chuàng)建一個可以復(fù)用的類,使得該類可以與其他不相關(guān)的類或不可預(yù)見的類協(xié)同工作; 
3、使用一些已經(jīng)存在的子類而不需要對其進(jìn)行子類化來匹配接口。 
4、舊的系統(tǒng)開發(fā)的類已經(jīng)實(shí)現(xiàn)了一些功能,但是客戶端卻只能以另外接口的形式訪問,但我們不希望手動更改原有類的時候。 

以上是“java適配器模式的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞名稱:java適配器模式的示例分析
當(dāng)前路徑:http://weahome.cn/article/pcoshh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部