(教案)Java程序設計精編教程(第3版)-教案48學時-第7章_第1頁
(教案)Java程序設計精編教程(第3版)-教案48學時-第7章_第2頁
(教案)Java程序設計精編教程(第3版)-教案48學時-第7章_第3頁
(教案)Java程序設計精編教程(第3版)-教案48學時-第7章_第4頁
(教案)Java程序設計精編教程(第3版)-教案48學時-第7章_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE5授課內容學時分配教學方法與手段進度計劃(周次)課堂講授(學時)上機實踐(學時)Java入門2201Java應用程序的基本結構4221-2標識符與簡單的數(shù)據類型運算符、表達式與語句2202類與對象8623~4子類與繼承4405接口與實現(xiàn)4226內部類與異常類2207常用實用類4407-8輸入、輸出流2208組件及事件處理6429-10Java多線程機制44010-11Java網絡編程22011JDBC數(shù)據庫操作42212總學時=SUM(ABOVE)48=SUM(ABOVE)38=SUM(ABOVE)10

各章教學實施計劃章節(jié)題目第7章接口與實現(xiàn)7.1節(jié)-7.9節(jié)學時2教學目的、要求(分了解、理解、掌握三個層次):1、掌握接口的定義、類實現(xiàn)接口2、掌握接口回調、接口參數(shù)。3、了解面向接口編程。基本內容:◆ 接口◆ 實現(xiàn)接口◆ 理解接口◆ 接口的UML圖◆ 接口回調◆ 接口與多態(tài)◆ 接口變量做參數(shù)◆ abstract類與接口的比較◆ 面向接口編程教學重點:重點是理解接口,抽象類和接口的區(qū)別。教學難點:難點是抽象類和接口的異同點。討論、思考題、作業(yè):P128習題71-4題預習第8章參考書目(含參考書、文獻等)具體內容:參考書對應章節(jié)

課堂教學實施計劃第9課教學過程設計:復習分鐘;授新課95分鐘討論5分鐘;其它分鐘授課類型(請打√):理論課√討論課□實驗課□習題課□其它□教學方式(請打√):講授√討論□示教□指導□其它□教學手段(請打√):多媒體模型□實物□掛圖□音像□其它√主要內容◆ 接口◆ 實現(xiàn)接口◆ 理解接口◆ 接口的UML圖◆ 接口回調◆ 接口與多態(tài)◆ 接口變量做參數(shù)◆ abstract類與接口的比較◆ 面向接口編程教學重點:重點是理解接口,抽象類和接口的區(qū)別。教學難點:難點是抽象類和接口的異同點?!?.1接口為了克服Java單繼承的缺點,Java使用了接口,一個類可以實現(xiàn)多個接口。使用關鍵字interface來定義一個接口。接口的定義和類的定義很相似,分為接口的聲明和接口體。interfacePrintable{finalintMAX=100;voidadd();floatsum(floatx,floaty);}1.接口聲明接口通過使用關鍵字interface來聲明,格式:interface接口的名字2.接口體接口體中包含常量定義和方法定義兩部分?!?.2實現(xiàn)接口(重點)一個類通過使用關鍵字implements聲明自己實現(xiàn)一個或多個接口。如:classAimplementsPrintable,Addable如果一個類實現(xiàn)了某個接口,那么這個類必須重寫該接口的所有方法。接口可以通過繼承產生新的接口。Java提供的接口都在相應的包中,通過import語句不僅可以引入包中的類,也可以引入包中的接口,例如:importjava.io.*例子1Computable.javapublicinterfaceComputable{intMAX=100;intf(intx);}China.javapublicclassChinaimplementsComputable{//China類實現(xiàn)Computable接口intnumber;publicintf(intx){//不要忘記public關鍵字intsum=0;for(inti=1;i<=x;i++){sum=sum+i;}returnsum;}}Japan.javapublicclassJapanimplementsComputable{//Japan類實現(xiàn)Computable接口intnumber;publicintf(intx){return46+x;}}Example7_1.javapublicclassExample7_1{publicstaticvoidmain(Stringargs[]){Chinazhang;Japanhenlu;zhang=newChina();henlu=newJapan();zhang.number=28+Computable.MAX;henlu.number=14+Computable.MAX;System.out.println("zhang的學號"+zhang.number+",zhang求和結果"+zhang.f(100));System.out.println("henlu的學號"+henlu.number+",henlu求和結果"+henlu.f(100));}}§7.3理解接口接口可以增加很多類都需要具有的功能,不同的類可以實現(xiàn)相同的接口,同一個類也可以實現(xiàn)多個接口。接口只關心操作,并不關心操作的具體實現(xiàn)接口的思想在于它可以增加很多類都需要具有的功能,而且實現(xiàn)相同的接口類不一定有繼承關系?!?.4接口的UML圖(簡單介紹)表示接口的UML圖和表示類的UML圖類似,使用一個長方形描述一個接口的主要構成,將長方形垂直地分為三層。第1層是名字層、第2層是常量層、第3層是方法層?!?.5接口回調(重點、難點)接口回調是指:可以把實現(xiàn)某一接口的類創(chuàng)建的對象的引用賦給該接口聲明的接口變量中,那么該接口變量就可以調用被類重寫的接口方法。實際上,當接口變量調用被類重寫的接口方法時,就是通知相應的對象調用這個方法。例子2Example7_2.javainterfaceShowMessage{void顯示商標(Strings);}classTVimplementsShowMessage{publicvoid顯示商標(Strings){System.out.println(s);}}classPCimplementsShowMessage{publicvoid顯示商標(Strings){System.out.println(s);}}publicclassExample7_2{publicstaticvoidmain(Stringargs[]){ShowMessagesm;//聲明接口變量sm=newTV();//接口變量中存放對象的引用sm.顯示商標("長城牌電視機");//接口回調。sm=newPC();//接口變量中存放對象的引用sm.顯示商標("聯(lián)想奔月5008PC機");//接口回調}}§7.6接口與多態(tài)可以通過在接口中聲明若干個abstract方法,表明這些方法的重要性,方法體的內容細節(jié)由實現(xiàn)接口的類去完成。使用接口進行程序設計的核心思想是使用接口回調,即接口變量存放實現(xiàn)該接口的類的對象的引用,從而接口變量就可以回調類實現(xiàn)的接口方法。例子3Example7_3.javainterfaceCompurerAverage{publicdoubleaverage(doublea,doubleb);}classAimplementsCompurerAverage{publicdoubleaverage(doublea,doubleb){doubleaver=0;aver=(a+b)/2;returnaver;}}classBimplementsCompurerAverage{publicdoubleaverage(doublea,doubleb){doubleaver=0;aver=Math.sqrt(a*b);returnaver;}}publicclassExample7_3{publicstaticvoidmain(Stringargs[]){CompurerAveragecomputer;doublea=11.23,b=22.78;computer=newA();doubleresult=computer.average(a,b);System.out.printf("%5.2f和%5.2f的算術平均值:%5.2f\n",a,b,result);computer=newB();result=computer.average(a,b);System.out.printf("%5.2f和%5.2f的幾何平均值:%5.2f",a,b,result);}}§7.7接口變量做參數(shù)如果一個方法的參數(shù)是接口類型,我們就可以將任何實現(xiàn)該接口的類的實例的引用傳遞給該接口參數(shù),那么接口參數(shù)就可以回調類實現(xiàn)的接口方法。圖7.圖7.8接口與參數(shù)Example7_4.javainterfaceSpeakHello{voidspeakHello();}classChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println("中國人習慣問候語:你好,吃飯了嗎?");}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println("英國人習慣問候語:你好,天氣不錯");}}classKindHello{publicvoidlookHello(SpeakHellohello){//接口類型參數(shù)hello.speakHello();//接口回調}}publicclassExample7_4{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello();kindHello.lookHello(newChinese());kindHello.lookHello(newEnglish());}}§7.8abstract類與接口的比較(簡單介紹,建議學生自主學習)接口和abstract類的比較如下:1.abstract類和接口都可以有abstract方法。2.接口中只可以有常量,不能有變量;而abstract類中即可以有常量也可以有變量。3.abstract類中也可以有非abstract方法,接口不可以?!?.9面向接口編程(簡單介紹,建議學生自主學習)面向接口去設計程序,可以通過在接口中聲明若干個abstract方法,表明這些方法的重要性,方法體的內容細節(jié)由實現(xiàn)接口的類去完成。使用接口進行程序設計的核心思想是使用接口回調,即接口變量存放實現(xiàn)該接口的類的對象的引用,從而接口變量就可以回調類實現(xiàn)的接口方法。例子5Advertisement.javapublicinterfaceAdvertisement{//接口publicvoidshowAdvertisement();publicStringgetCorpName();}AdvertisementBoard.javapublicclassAdvertisementBoard{//負責創(chuàng)建廣告牌publicvoidshow(Advertisementadver){System.out.println(adver.getCorpName()+"的廣告詞如下:");adver.showAdvertisement();//接口回調}}WhiteCloudCorp.javapublicclassWhiteCloudCorpimplementsAdvertisement{//PhilipsCorp實現(xiàn)Avertisement接口publicvoidshowAdvertisement(){System.out.println("@@@@@@@@@@@@@@@@@@@@@@");System.out.printf("飛機中的戰(zhàn)斗機,哎yes!\n");System.out.println("@@@@@@@@@@@@@@@@@@@@@@");}publicStringgetCorpName(){return"白云有限公司";}}BlackLandCorp.javapublicclassBlackLandCorpimplementsAdvertisement{publicvoidshowAdve

溫馨提示

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

評論

0/150

提交評論