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

首頁(yè) > 編程 > Java > 正文

輕松掌握J(rèn)ava適配器模式

2019-11-26 13:46:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱包裝樣式或者包裝)將一個(gè)類的接口適配成用戶所期待的。一個(gè)適配允許通常因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念惞ぷ髟谝黄穑龇ㄊ菍㈩愖约旱慕涌诎谝粋€(gè)已存在的類中。

特點(diǎn):將兩個(gè)不兼容的類通過(guò)接口實(shí)現(xiàn)在一起工作

企業(yè)級(jí)開(kāi)發(fā)和常用框架中的應(yīng)用:流接口,例如將字符流轉(zhuǎn)換為字節(jié)流輸出是用的outputstreamreader

適配器模式分為類適配器和對(duì)象適配器:

舉例:電腦只有USB接口,但是鍵盤只有圓口,這時(shí)就需要一個(gè)適配器,讓鍵盤能輸入數(shù)據(jù)到電腦

類適配器:

package com.test.adapter;public class Computer { public void show(USB usb){ usb.recive(); System.out.println("電腦顯示輸入的數(shù)據(jù)"); }  public static void main(String[] args) { Computer c = new Computer(); USB u = new USBAdapter(); c.show(u); }}class KeyBoard{ public void input(){ System.out.println("鍵盤輸入數(shù)據(jù)"); }}/** * 適配器接口  */interface USB{ public void recive();}/** * 具體的適配器 */class USBAdapter extends KeyBoard implements USB{ public void recive() { System.out.println("我是USB適配器,我使圓口的鍵盤能和USB接口電腦連接"); super.input(); } }

對(duì)象適配器:

package com.test.adapter;public class Computer { public void show(USB usb){ usb.recive(); System.out.println("電腦顯示輸入的數(shù)據(jù)"); }  public static void main(String[] args) { Computer c = new Computer(); KeyBoard k = new KeyBoard(); USB u = new USBAdapter(k); c.show(u); }}class KeyBoard{ public void input(){ System.out.println("鍵盤輸入數(shù)據(jù)"); }}/** * 適配器接口  */interface USB{ public void recive();}/** * 具體的適配器 */class USBAdapter implements USB{ private KeyBoard k;  public USBAdapter(KeyBoard k) { this.k = k; }  public void recive() { System.out.println("我是USB適配器,我使圓口的鍵盤能和USB接口電腦連接"); k.input(); } }

相對(duì)而言,對(duì)象適配器通過(guò)組合的方式比類適配器通過(guò)集成的方式要更靈活,推薦平時(shí)使用對(duì)象適配器。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 浮山县| 留坝县| 通许县| 荔浦县| 石首市| 南宫市| 花莲市| 昌都县| 尼玛县| 峡江县| 咸丰县| 瑞丽市| 梅河口市| 贺州市| 鹿邑县| 旌德县| 西安市| 大关县| 湖北省| 晋宁县| 白银市| 鹤庆县| 甘洛县| 文化| 连州市| 崇信县| 延长县| 米易县| 松原市| 菏泽市| 缙云县| 新邵县| 建昌县| 西乌珠穆沁旗| 雷山县| 翁牛特旗| 贡觉县| 自治县| 乐陵市| 哈巴河县| 长岭县|