chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

冬至子 ? 來(lái)源:全棧開(kāi)發(fā)的碼農(nóng) ? 作者:全棧開(kāi)發(fā)的碼農(nóng) ? 2023-06-01 14:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

適配器模式一般是在我們要把”現(xiàn)有的對(duì)象“應(yīng)用到新的環(huán)境中時(shí)使用,通過(guò)編寫(xiě)一個(gè)Adapter類(lèi),把原有的類(lèi)應(yīng)用到新的類(lèi)中,而不必修改原有類(lèi),也不必重寫(xiě)已有類(lèi)。

如下圖所示,原有一個(gè)AdvancedPlayer接口類(lèi),可以播放flv和MP4格式的視頻文件?,F(xiàn)在新建了一個(gè)MediaPlayer接口類(lèi),使之可以播放MP3、flv和MP4格式的文件。

因?yàn)橐延蠥dvancedPlayer接口類(lèi)實(shí)現(xiàn)了播放flv和MP4格式的文件,現(xiàn)在只需要編寫(xiě)一個(gè)播放MP3格式文件的AudioPlayer實(shí)現(xiàn)類(lèi)和一個(gè)Adapter實(shí)現(xiàn)類(lèi),在A(yíng)dapter類(lèi)中使用AdvancedPlayer類(lèi)的對(duì)象,使之可以播放flv和MP4類(lèi)型的文件。

圖片

AdvancedPlayer接口類(lèi):

package adapter;
public interface AdvancedPlayer {
  public void playFlv();
  public void playMP4();
}

FlvPlayer實(shí)現(xiàn)類(lèi):

package adapter;
public class FlvPlayer implements AdvancedPlayer {
  @Override
  public void playFlv() {
    System.out.println("播放Flv格式文件");
  } 
  @Override
  public void playMP4() {   
  }
}

MP4Player實(shí)現(xiàn)類(lèi):

package adapter;
public class MP4Player implements AdvancedPlayer{
  @Override
  public void playFlv() {
  }
  @Override
  public void playMP4() {
    System.out.println("播放MP4文件");  
  }
}

MediaPlayer接口類(lèi):

package adapter;
public interface MediaPlayer {
  public void play(String audioType, String fileName);
}

AudioPlayer實(shí)現(xiàn)類(lèi):

package adapter;
public class AudioPlayer implements MediaPlayer {
  Adapter adapter;
  @Override
  public void play(String audioType, String fileName) {
    if(audioType.equals("MP3")) {
      System.out.println("播放MP3:"+fileName);
    }else if(audioType.equals("flv")||audioType.equals("MP4")) {
      adapter=new Adapter(audioType);
      adapter.play(audioType, fileName);
    }else {
      System.out.println("文件格式未知");
    }  
  }
}

Adapter適配器實(shí)現(xiàn)類(lèi):

package adapter;
public class Adapter implements MediaPlayer{
  AdvancedPlayer advancedPlayer;
  public Adapter(String audioType) {
    if(audioType.equals("flv")) {
      advancedPlayer =new FlvPlayer();
    }else if(audioType.equals("MP4")) {
      advancedPlayer = new MP4Player();
    }
  }
  @Override
  public void play(String audioType,String fileName) {
    if(audioType.equals("flv")){
      advancedPlayer.playFlv();
    }else if(audioType.equals("MP4")) {
      advancedPlayer.playMP4();
    }  
  }
}

主函數(shù)調(diào)用方式:

package main;
import adapter.*;
public class AdapterPattern {
  public static void main(String[] args) {
    AudioPlayer audioPlayer=new AudioPlayer();

    audioPlayer.play("flv", "視頻.flv");
    audioPlayer.play("MP4", "視頻.MP4");
    audioPlayer.play("MP3", "音樂(lè).MP3");
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 適配器
    +關(guān)注

    關(guān)注

    9

    文章

    2126

    瀏覽量

    71120
  • audio
    +關(guān)注

    關(guān)注

    1

    文章

    330

    瀏覽量

    61210
  • AudioPlayer
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    1601
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    適配器模式和代理模式的區(qū)別

    對(duì)象可以在客戶(hù)端和目標(biāo)對(duì)象之間起到中介的作用,這樣起到了中介的作用和保護(hù)了目標(biāo)對(duì)象的作用?! 。?)高擴(kuò)展性    適配器模式  在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱(chēng)包裝樣式或者包裝
    發(fā)表于 10-22 15:17

    適配器模式實(shí)現(xiàn)

    目錄第一章 適配器模式介紹第二章 適配器模式實(shí)現(xiàn)(類(lèi)適配器)2.1、關(guān)系依賴(lài)圖2.2、創(chuàng)建交流電2.3、定義直流電2.4、創(chuàng)建充電器2.5、
    發(fā)表于 09-15 07:11

    適配器模式的作用

    適配器模式的作用是解決兩個(gè)軟件實(shí)體間的接口不兼容的問(wèn)題。使用適配器模式之后,原本由于接口不兼容而不能工作的兩個(gè)軟件實(shí)體可以一起工作。港式插頭轉(zhuǎn)換器
    發(fā)表于 11-11 06:30

    適配器模式相關(guān)資料推薦

    結(jié)構(gòu)型模式一、適配器模式(一)定義:適配器模式(Adapter Pattern)是作為兩個(gè)不兼容的接口之間的橋梁,它結(jié)合了兩個(gè)獨(dú)立接口的功能
    發(fā)表于 11-11 06:03

    缺省適配器模式基本概念

    在這一節(jié)我們就看一看第一類(lèi):缺省適配器模式一、缺省適配器模式基本概念1.1 說(shuō)明當(dāng)不需要全部實(shí)現(xiàn)接口提供的方法時(shí),可以設(shè)計(jì)一個(gè)適配器抽象類(lèi)實(shí)
    發(fā)表于 11-11 07:53

    對(duì)象適配器模式基本概念

    在這一節(jié)我們就看一看第一類(lèi):對(duì)象適配器模式一、對(duì)象適配器模式基本概念1.1 說(shuō)明對(duì)象適配器模式
    發(fā)表于 11-11 07:09

    什么是硬件適配器模式

    硬件適配器模式提供一種方法,使已經(jīng)存在的硬件接口能適應(yīng)應(yīng)用期望。當(dāng)應(yīng)用需要使用一個(gè)接口而硬件提供另一種時(shí),硬件適配器模式創(chuàng)建元素在兩個(gè)接口之間進(jìn)行轉(zhuǎn)換。
    發(fā)表于 12-21 07:55

    適配器模式的本質(zhì)及分類(lèi)

    什么是適配器 在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱(chēng)包裝樣式或者包裝)把一個(gè)類(lèi)的接口變換成客戶(hù)端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類(lèi)能夠在一起工作。一個(gè)適配
    發(fā)表于 10-18 15:06 ?5361次閱讀

    適配器模式和代理模式的區(qū)別

    適配器模式適配器模式有時(shí)候也稱(chēng)包裝樣式或者包裝。將一個(gè)類(lèi)的接口轉(zhuǎn)接成用戶(hù)所期待的。代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪(fǎng)問(wèn)。
    發(fā)表于 01-12 11:56 ?5613次閱讀
    <b class='flag-5'>適配器</b><b class='flag-5'>模式</b>和代理<b class='flag-5'>模式</b>的區(qū)別

    適配器模式的應(yīng)用

    在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱(chēng)包裝樣式或者包裝)將一個(gè)類(lèi)的接口適配成用戶(hù)所期待的。一個(gè)適配允許通常因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念?lèi)工作在一起,做法是將類(lèi)自己的接口包裹在一個(gè)已
    發(fā)表于 01-12 14:28 ?1245次閱讀
    <b class='flag-5'>適配器</b><b class='flag-5'>模式</b>的應(yīng)用

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

    適配器模式的作用是解決兩個(gè)軟件實(shí)體間的接口不兼容的問(wèn)題。使用適配器模式之后,原本由于接口不兼容而不能工作的兩個(gè)軟件實(shí)體可以一起工作。港式插頭轉(zhuǎn)換器
    發(fā)表于 11-06 16:21 ?5次下載
    JavaScript設(shè)計(jì)<b class='flag-5'>模式</b>之<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>

    設(shè)計(jì)模式-適配器模式-以電壓適配器為例

    超級(jí)鏈接: Java常用設(shè)計(jì)模式的實(shí)例學(xué)習(xí)系列-緒論參考:《HeadFirst設(shè)計(jì)模式》1.關(guān)于適配器模式適配器
    發(fā)表于 11-07 09:36 ?17次下載
    設(shè)計(jì)<b class='flag-5'>模式</b>-<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>-以電壓<b class='flag-5'>適配器</b>為例

    什么是適配器模式?怎樣使用適配器模式進(jìn)行貨幣轉(zhuǎn)換?

    在軟件開(kāi)發(fā)中,通常使用具有不兼容接口的現(xiàn)有代碼或外部庫(kù)。 適配器模式提供了一個(gè)優(yōu)雅的解決方案,充當(dāng)不兼容接口之間的橋梁,無(wú)需修改現(xiàn)有代碼即可實(shí)現(xiàn)無(wú)縫集成。
    的頭像 發(fā)表于 07-19 14:35 ?1176次閱讀

    設(shè)計(jì)模式中什么是適配器模式

    適配器模式(Adapter),將一個(gè)類(lèi)的接口適配成用戶(hù)所期待的。
    的頭像 發(fā)表于 08-02 10:00 ?1555次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b>中什么是<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>?

    什么是適配器模式

    1、什么是適配器模式? Convert the interface of a class into another interface clients expect.Adapter lets
    的頭像 發(fā)表于 10-09 11:16 ?3344次閱讀
    什么是<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>