欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2016年09月29日 17:22:04   作者:斷了聯(lián)系  
這篇文章主要幫助大家輕松掌握J(rèn)ava適配器模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱包裝樣式或者包裝)將一個(gè)類的接口適配成用戶所期待的。一個(gè)適配允許通常因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念惞ぷ髟谝黄?,做法是將類自己的接口包裹在一個(gè)已存在的類中。

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

企業(yè)級(jí)開發(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ì)象適配器通過組合的方式比類適配器通過集成的方式要更靈活,推薦平時(shí)使用對(duì)象適配器。

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

相關(guān)文章

最新評(píng)論