這篇文章主要介紹“java適配器模式的兩種分類是什么”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“java適配器模式的兩種分類是什么”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比三江侗網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式三江侗網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋三江侗地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
1、類適配器模式
實(shí)現(xiàn)方式:定義一個(gè)適配器類來實(shí)現(xiàn)當(dāng)前系統(tǒng)的業(yè)務(wù)接口,同時(shí)又繼承現(xiàn)有組件庫中已經(jīng)存在的組件。
public class HelloWorld { public static void main(String[] args) { Computer computer = new Computer(); SDCard sdCard = new SDCardImpl(); System.out.println(computer.readSD(sdCard)); System.out.println("------------"); SDAdapterTF adapter = new SDAdapterTF(); System.out.println(computer.readSD(adapter)); } } // SD卡的接口 interface SDCard { // 讀取SD卡功能 String readSD(); // 寫入SD卡功能 void writeSD(String msg); } // SD卡實(shí)現(xiàn)類 class SDCardImpl implements SDCard { @Override public String readSD() { String msg = "sd card read a msg: hello sd card"; return msg; } @Override public void writeSD(String msg) { System.out.println("sd card write msg: " + msg); } } // 電腦類 class Computer { public String readSD(SDCard sdCard) { if (sdCard == null) { throw new NullPointerException("sd card null"); } return sdCard.readSD(); } } // TF卡接口 interface TFCard { // 讀取TF卡功能 String readTF(); // 寫入TF卡功能 void writeTF(String msg); } // TF卡實(shí)現(xiàn)類 class TFCardImpl implements TFCard { @Override public String readTF() { String msg = "sd card read a msg: hello tf card"; return msg; } @Override public void writeTF(String msg) { System.out.println("tf card write msg: " + msg); } } // 定義適配器類(SD兼容TF) class SDAdapterTF extends TFCardImpl implements SDCard { @Override public String readSD() { System.out.println("adapter read tf card "); return readTF(); } @Override public void writeSD(String msg) { System.out.println("adapter write tf card"); writeTF(msg); } }
2、對象適配器模式
實(shí)現(xiàn)方式:對象適配器模式可采用將現(xiàn)有組件庫中已經(jīng)實(shí)現(xiàn)的組件引入適配器中,該類同時(shí)實(shí)現(xiàn)當(dāng)前系統(tǒng)的業(yè)務(wù)接口。
public class HelloWorld { public static void main(String[] args) { Computer computer = new Computer(); SDCard sdCard = new SDCardImpl(); System.out.println(computer.readSD(sdCard)); System.out.println("------------"); TFCard tfCard = new TFCardImpl(); SDAdapterTF adapter = new SDAdapterTF(tfCard); System.out.println(computer.readSD(adapter)); } } // SD卡的接口 interface SDCard { // 讀取SD卡功能 String readSD(); // 寫入SD卡功能 void writeSD(String msg); } // SD卡實(shí)現(xiàn)類 class SDCardImpl implements SDCard { @Override public String readSD() { String msg = "sd card read a msg: hello sd card"; return msg; } @Override public void writeSD(String msg) { System.out.println("sd card write msg: " + msg); } } // 電腦類 class Computer { public String readSD(SDCard sdCard) { if (sdCard == null) { throw new NullPointerException("sd card null"); } return sdCard.readSD(); } } // TF卡接口 interface TFCard { // 讀取TF卡功能 String readTF(); // 寫入TF卡功能 void writeTF(String msg); } // TF卡實(shí)現(xiàn)類 class TFCardImpl implements TFCard { @Override public String readTF() { String msg = "sd card read a msg: hello tf card"; return msg; } @Override public void writeTF(String msg) { System.out.println("tf card write msg: " + msg); } } // 定義適配器類(SD兼容TF) class SDAdapterTF implements SDCard { private TFCard tfCard; public SDAdapterTF(TFCard tfCard) { this.tfCard = tfCard; } @Override public String readSD() { System.out.println("adapter read tf card "); return tfCard.readTF(); } @Override public void writeSD(String msg) { System.out.println("adapter write tf card"); tfCard.writeTF(msg); } }
關(guān)于“java適配器模式的兩種分類是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
本文標(biāo)題:java適配器模式的兩種分類是什么
本文地址:http://chinadenli.net/article14/geooge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站排名、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)