單元2-任務五 USB接口模擬程序設計_第1頁
單元2-任務五 USB接口模擬程序設計_第2頁
單元2-任務五 USB接口模擬程序設計_第3頁
單元2-任務五 USB接口模擬程序設計_第4頁
單元2-任務五 USB接口模擬程序設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

任務五:USB接口模擬程序設計單元二:面向?qū)ο蟪绦蛟O計教學目標知識目標掌握Java接口的概念;理解面向接口編程的思想;掌握面向接口編程步驟;掌握接口中常量使用方法。能力目標能夠使用接口技術完成程序結構的設計;能夠運用接口的多態(tài)技術解決實際問題。教學內(nèi)容4任務陳述123知識準備任務實施任務拓展任務實訓5任務描述:

電腦主板上的USB接口有嚴格的規(guī)范,U盤、移動硬盤的內(nèi)部結構不相同,每種盤的容量也不同,但U盤、移動硬盤都遵守了USB接口的規(guī)范,所以,在使用USB接口時,可以將U盤、移動硬盤插入任意一個USB接口,而不用擔心哪個USB接口是專門插哪個盤。請編寫程序,模擬使用USB接口的過程。運行結果:1.任務陳述2.知識準備2.14Java接口

購買USB電腦鼠標一般情況下買回來都可以直接使用。其原因就是USB接口是統(tǒng)一的,都實現(xiàn)了鼠標的基本功能。所有的廠家都會按照一個規(guī)范來制造。這個規(guī)范說明制作該USB類型的鼠標應該做些什么,但并不說明如何做。同樣,電腦主板上的PCI插槽的規(guī)范也類似于鼠標。聲卡顯卡網(wǎng)卡主板插槽2.知識準備2.16.1接口的概念Java程序設計中的接口(Interface)也是一種規(guī)范,是用來組織應用程序中的類,并調(diào)節(jié)它們的相互關系。接口是由常量和抽象方法組成的特殊類,是對抽象類的進一步抽象,形成了一個屬性和行為的介紹集合,該集合通常代表了一組功能的實現(xiàn)。Java的單繼承性使得Java簡單,易于管理程序。但為了能夠?qū)崿F(xiàn)多繼承,Java使用了接口,一個類可以實現(xiàn)多個接口?!咎崾尽?/p>

在最早期的面向?qū)ο笳Z言中不是使用interface關鍵字,而是使用protocal。從這個詞匯中可以看出接口最核心的意義是一個協(xié)議,一個規(guī)定了一組功能的協(xié)議。既然有協(xié)議的意思,那么協(xié)議中將要說明需要遵守的條約,相當于抽象方法。然而協(xié)議中一般不去理會到底如何實現(xiàn)條約方式,這進一步說明了使用抽象方法的意義。2.知識準備2.16.2接口的聲明格式:[public]interface接口名[extends接口1,接口2…]{[public][static][final]數(shù)據(jù)類型常量名=常量值;[public][static][abstract]返回值抽象方法名(參數(shù)列表);}接口的訪問修飾符只有public一個;接口可以被繼承,它將繼承父接口中的所有方法和常量;接口體只包含兩部分,一是常量;而是抽象方法;接口中的常量必須賦值,并且接口中的屬性都被默認為是final來修飾的常量;接口中的所有的方法都必須是抽象方法,抽象方法不需要使用abstract關鍵字聲明,直接默認為是抽象的。2.知識準備2.16.3接口的實現(xiàn)和使用

接口里只有抽象方法,它只要聲明而不用定義處理方式,沒有辦法直接實例化出對象。利用接口打造新的類的過程,稱之為接口的實現(xiàn)(implementation),同時實現(xiàn)了接口的類稱之為接口實現(xiàn)類。接口實現(xiàn)使用關鍵字implements,格式如下:class類名稱implements接口A,接口B//接口的實現(xiàn){…}【實例2-13】接口實現(xiàn)程序設計2.知識準備2.17接口與多態(tài)

接口與它的實現(xiàn)類之間存在實現(xiàn)關系,同時也就具有繼承關系。因此接口可以像父類子類一樣使用多態(tài)技術,其中接口回調(diào)就是多態(tài)技術的體現(xiàn)。接口回調(diào)是指:可以將接口實現(xiàn)類的對象賦給該接口聲明的接口變量中,那么該接口變量就可以調(diào)用接口實現(xiàn)類對象中的方法。【實例2-14】接口回調(diào)的例子不同的類在使用同一接口時,可能具有不同的功能體現(xiàn),即接口實現(xiàn)類的方法體不必相同,因此,接口回調(diào)可能產(chǎn)生不同的行為。2.知識準備2.18面向接口編程的步驟面向接口編程思想:接口體現(xiàn)了規(guī)范與分離的設計原則,可以很好地降低程序各模塊之間的耦合度,提高系統(tǒng)的可擴展性,可維護性。開發(fā)系統(tǒng)時,主體構架使用接口來構成系統(tǒng)的骨架,這樣就可以通過更換接口的實現(xiàn)類來更換系統(tǒng)的實現(xiàn)?!緦嵗?-15】有一打印中心,既有黑白打印機,也有彩色打印機,在打印時,使用不同的打印機,打印也就不同。采用面向接口編程的思想編程。2.知識準備第一步:抽象出Java接口分析:黑白、彩色打印機都存在一個共同的方法特征:print;黑白、彩色打印機對print方法有各自不同的實現(xiàn)。結論:抽象出Java接口PrinterFace,在其中定義方法print。具體實現(xiàn):publicinterfacePrinterFace{//打印機接口 publicvoidprint(Stringcontent);}publicinterfacePrinter{//打印社的打印接口 publicStringdetail();}2.知識準備第二步:實現(xiàn)Java接口分析:已經(jīng)抽象出Java接口PrinterFace,并在其中定義了print方法黑白、彩色打印機對print方法有各自不同的實現(xiàn)。結論:黑白、彩色打印機實現(xiàn)PrinterFace接口,各自實現(xiàn)print方法。具體實現(xiàn):publicclassBlackPrinterimplementsPrinterFace{ publicvoidprint(Stringcontent){ System.out.println("黑白打?。?); System.out.println(content); }}publicclassColorPrinterimplementsPrinterFace{ publicvoidprint(Stringcontent){ System.out.println("彩色打?。?); System.out.println(content);}}2.知識準備第三步:使用Java接口分析:主體構架使用接口,讓接口構成系統(tǒng)的骨架。結論:更換實現(xiàn)接口的類就可以更換系統(tǒng)的實現(xiàn)。具體實現(xiàn):publicclassPrinterCentreimplementsPrinter{privatePrinterFaceprinterface;//打印機接口publicvoidsetPrinter(PrinterFacepf){this.printerface=pf;}publicStringdetail(){return"這里是打印中心";}publicvoidprintph(Printerpf){ printerface.print(pf.detail());//打印Printer接口信息}}publicclassTest{ publicstaticvoidmain(String[]args){ PrinterCentrepc=newPrinterCentre();//創(chuàng)建打印中心 pc.setPrinter(newBlackPrinter());//配備黑色打印機 pc.printph(pc);//打印 pc.setPrinter(newColorPrinter());//配備彩色打印機 pc.printph(pc);//打印 }}2.知識準備2.19接口中常量的使用

在Java接口中只能存在常量,在編譯時會自動加上staticfinal的修飾符,即聲明為常量,因而Java接口通常是存放常量的最佳地點?!緦嵗?-16】接口中的常量程序設計interfaceCons{//定義接口 finalStringname="thisismyname";}classConstimplementsCons{}publicclassTestInterfaceConst{publicstaticvoidmain(String[]s){ Constcons=newConst(); Stringname=C;//靜態(tài)變量 System.out.println(name); Stringn=; System.out.println(n); }}

1.實現(xiàn)思路USB接口可以使用U盤、移動硬盤,完成插入、啟動、停止的功能。當U盤或移動硬盤插入USB接口時,它們的表現(xiàn)是不一樣的。作為USB接口的接口,有兩個抽象方法,但無法實現(xiàn)具體的功能。這些功能留在U盤或移動硬盤實現(xiàn)類中去完成。打開Eclipse,定義一個USB接口得到接口的框架;在接口中進行抽象方法聲明編寫測試類進行測試。3.任務實施2.程序代碼publicinterfaceUSBInterface{//相當于主板上的USB接口的規(guī)范 publicvoidstart(); publicvoidConn(); publicvoidstop();}publicclassMouseInterfaceimplementsUSBInterface{ publicvoidstart(){ //實現(xiàn)抽象方法 System.out.println("鼠標插入,開始使用"); }//省略其他方法的實現(xiàn)}publicclassMovingDiskimplementsUSBInterface{ publicvoidstart(){ //實現(xiàn)接口的抽象方法 System.out.println("移動存儲設備插入,開始使用"); }//省略其他方法的實現(xiàn)}3.任務實施2.程序代碼publicclassKeyboardimplementsUSBInterface{ publicvoidstart(){//實現(xiàn)接口的抽象方法 System.out.println("鍵盤插入,開始使用"); }}publicstaticvoidmain(String[]args){USBInterfaceusb1=newMovingDisk();//將移動硬盤插入USB接口1USBInterfaceusb2=newMouseInterface();//將鼠標插入USB接口2USBInterfaceusb3=newKeyboard(); //將鍵盤插入USB接口2 usb1.start(); usb1.Conn(); usb1.stop();}3.任務實施4.任務拓展在原任務上完成接口的多態(tài)處理技術實現(xiàn)增加主板類,再修改UseUSB類,將USB接口安裝在主板上,然后在UseUSB類中將移動硬盤插入到主板的USB接口中。classMainBoard{publicvoiduseUSB(USBInterfaceusb){//插入符合USB接口規(guī)范的盤 usb.start();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論