亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

設計模式學習——適配器模式

系統 1724 0

?

某個類擁有我們所需要的功能,但他的方法名卻不能滿足 用戶 的期望,這時候需要使用適配器模式修改這個現存類和外界交互的接口,從而使其能滿足用戶的需求。適配器模式的宗旨是:保留現有類提供的服務,修改其接口使其能滿足用戶的需要。
類適配器:

圖1 類適配器模式
類適配器模式如圖1所示。其中RequiredClass是提供給用戶的接口;ExistingClass是已存在實現具體功能的類,但它的方法名稱不能滿足用戶的需求。為此,定義一個NewClass類,使其實現RequiredClass接口并且繼承ExistingClass類。同時,在這個新類中重載requiredMethod方法,并在該方法中調用usefulMethod方法進行處理,這樣就能夠達到利用現有的代碼滿足用戶需求的目的。用戶在使用時只需要聲明一個NewClass類的對象實例即可。
類適配器實例:
              /**
* 定義用戶使用接口
*/
public interface RequiredClass{
void requiredMethod ();
}
/**
* 定義一個已經存在類,它實現了用戶所需要的某些功能
*/
public class ExistingClass{
public void usefulMethod () {
       //具體的功能實現.
}
}
/**
* 定義一個新的類進行適配
*/
public class NewClass extends ExistingClass implements RequiredClass{
    public void requiredMethod () {
       usefulMethod()// 在方法中調用現存類的方法實現用戶需要的功能
}
}
            
?
對象適配器:
? ?? ? 上面所講的類適配器是通過創建現存類的子類來達到適配的目的。但該方法并不一定在任何情況下都適用,例如:
1、 有時候,我們可能無法繼承這個現存類。
2、??在某些情況下,我們可能需要創建一個適配器以適應多個對象。
3、??有時候,適配的目標不是 java 接口,而是抽象類。
如果出現以上這三種情況,就無法使用類適配器而必須創建一個對象適配器。


圖2 對象適配器模式
? ?? ? 對象適配器模式如圖2所示(在此,針對的是上述的第三種情況,即需要適配的是一個java抽象類,圖中的RequiredClass)。此時,仍然是定義一個新類NewClass,該類繼承RequiredClass類。但與類適配器不同的是,該類并不繼承已存在的類ExistingClass,而是在類中聲明現有類的對象實例,使用該對象實例調用現有類中的方法完成用戶所需要的功能。
對象適配器實例:
              /**
* 定義用戶使用接口
*/
public interface RequiredClass{
void requiredMethod ();
}
/**
* 定義一個已經存在類,它實現了用戶所需要的某些功能
*/
public class ExistingClass{
public void usefulMethod () {
       //具體的功能實現.
}
}
/**
* 定義一個新的類進行適配
*/
public class NewClass extends RequiredClass{
private ExistingClass existing;
public NewClass(ExistingClass existing) {
   super();
     this.existing = existing;
    }
public void requiredMethod () {
       existing.usefulMethod()// 在方法中調用現存類的方法實現用戶需要的功能
}
}
            
?



本文來自ChinaUnix博客,如果查看原文請點: http://blog.china unix .net/u2/81480/showart_1274891.html

設計模式學習——適配器模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国内女高中生一级毛片 | 91久久综合九色综合欧美亚洲 | 人人澡人人人人夜夜爽 | 国产大片91精品免费看3 | 奇米第四色网站 | 五月天久久综合 | 男女乱淫真视频免费一级毛片 | 久久er99热这里只是精品 | 神马影院我不卡影院 | 免费国产a国产片高清不卡 免费国产阿v视频在线观看 | 成人在线免费小视频 | 天天狠狠色综合图片区 | 卡通动漫精选国产欧美 | 中午字幕在线观看 | 欧美一级黄色片在线观看 | 中文字幕热久久久久久久 | 久久91精品国产一区二区 | 久久久久夜色精品波多野结衣 | 免费费看的欧亚很色大片 | 免费观看毛片视频 | 国产一区二区三区成人久久片 | 青青青国产成人久久111网站 | 91在线亚洲精品一区 | 国内精品久久久久久久星辰影视 | 波多野结衣一区二区三区高清在线 | 奇米在线播放 | 色视频网 | 免费一级a毛片在线播放视 免费一级成人毛片 | 国产萝控精品福利视频免费 | 久久久久中文字幕 | 一级不卡毛片 | 九九国产精品 | 操穴影院| 麻豆69 | 久热热热| 午夜一区二区在线观看 | julia在线播放| 久久婷婷色一区二区三区 | 一级毛片在线播放免费 | 韩国19禁青草福利视频在线 | 一级毛片一级毛片一级毛片 |