国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java設(shè)計(jì)模式之適配器模式

2019-11-14 10:06:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

適配器模式:將一個(gè)類的接口,轉(zhuǎn)換成客戶期望的另一個(gè)接口。適配器讓原來(lái)接口不兼容的類可以合作無(wú)間。 適配器又包含兩種,一種是對(duì)象適配器,另一種是類適配器。 兩者的區(qū)別:對(duì)象適配器采用組合的方式實(shí)現(xiàn),類適配器采用繼承的方式實(shí)現(xiàn)。

類適配器類圖: 這里寫圖片描述 適配器Adapter繼承Adaptee并實(shí)現(xiàn)Target接口來(lái)實(shí)現(xiàn)。

對(duì)象適配器類圖: 這里寫圖片描述 適配器Adapter實(shí)現(xiàn)Target接口,在request方法中調(diào)用Adaptee對(duì)象的具體實(shí)現(xiàn)。

下面結(jié)合充電器適配器的例子來(lái)說(shuō)明。

類圖: 這里寫圖片描述 這個(gè)例子是通過(guò)適配器來(lái)使用安卓充電器給蘋果設(shè)備充電。chargeAdapter的實(shí)現(xiàn)方式不同決定了是類適配器還是對(duì)象適配器。

接口AndroidCharger代碼實(shí)現(xiàn):

public interface AndroidCharger { public void charge();}

AndroidCharge類代碼實(shí)現(xiàn):

public class AndroidCharge implements AndroidCharger{ @Override public void charge() { // TODO Auto-generated method stub System.out.接口AppleCharger代碼實(shí)現(xiàn):

public interface AppleCharger { public void charge();}

AppleCharge類代碼實(shí)現(xiàn):

public class AppleCharge implements AppleCharger{ @Override public void charge() { // TODO Auto-generated method stub System.out.println("使用蘋果充電器充電..."); }}

對(duì)象適配器ChargeAdapter代碼實(shí)現(xiàn):

public class ChargeAdapter implements AppleCharger{ AndroidCharger androidCharger; public ChargeAdapter(AndroidCharger androidCharger){ this.androidCharger = androidCharger; } @Override public void charge() { // TODO Auto-generated method stub androidCharger.charge(); }}

類適配器ChargeAdapter2代碼實(shí)現(xiàn):

public class ChargeAdapter2 extends AndroidCharge implements AppleCharger{}

Client類代碼實(shí)現(xiàn):

public static void main(String[] args){ AppleCharger appleCharger = new AppleCharge(); appleCharger.charge(); //使用對(duì)象適配器模式 AndroidCharger androidCharger = new AndroidCharge(); ChargeAdapter adapter = new ChargeAdapter(androidCharger); adapter.charge(); //使用類適配器模式 ChargeAdapter2 adapter2 = new ChargeAdapter2(); adapter2.charge(); }}

運(yùn)行結(jié)果:

使用蘋果充電器充電...使用安卓充電器充電...使用安卓充電器充電...
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巧家县| 得荣县| 南川市| 淮北市| 泸州市| 平塘县| 阳泉市| 贵阳市| 深泽县| 蓬溪县| 青龙| 石门县| 蓝田县| 定边县| 当雄县| 大冶市| 通州市| 民乐县| 石阡县| 鄂伦春自治旗| 闵行区| 金湖县| 浮梁县| 岑巩县| 张家川| 东台市| 闽侯县| 梧州市| 延安市| 宁夏| 永川市| 莫力| 天柱县| 湖北省| 年辖:市辖区| 永昌县| 台州市| 康保县| 小金县| 乌拉特中旗| 阿拉尔市|