面向?qū)ο缶幊堂嫦蚪涌赺第1頁
面向?qū)ο缶幊堂嫦蚪涌赺第2頁
面向?qū)ο缶幊堂嫦蚪涌赺第3頁
面向?qū)ο缶幊堂嫦蚪涌赺第4頁
面向?qū)ο缶幊堂嫦蚪涌赺第5頁
資源描述:

《面向?qū)ο缶幊堂嫦蚪涌凇酚蓵T上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第六章節(jié):面向?qū)ο缶幊探涌谂c設(shè)計模式回顧舉例說明在什么樣的情況下,需要使用到繼承?在Java程序中,多態(tài)帶給我們的好處是什么?www.cssxt.com掌握Java接口理解Java接口與多態(tài)的關(guān)系掌握面向接口編程的思想掌握常量接口的使用設(shè)計模式本章目標(biāo)www.cssxt.com單一繼承的局限性1、如下的類圖描述正確嗎?2、青蛙是兩棲動物,怎么辦呢?我該何處何從……www.cssxt.com什么是Java接口接口與前面所學(xué)的抽象類一樣是一種規(guī)范和標(biāo)準(zhǔn)、可以約束類的行為定義一個接口不指定具體的實現(xiàn)一個Java接口是一些方法特征的集合,但沒有方法的實現(xiàn)Ja

2、va接口中定義的方法在不同的地方被實現(xiàn),可以具有完全不同的行為www.cssxt.com一個例子www.cssxt.com一個實例publicinterfacePCI{publicvoidstart();publicvoidstop(); }classSoundCardimplementsPCI{publicvoidstart(){System.out.println("Dudu...");}publicvoidstop(){System.out.println("Soundstop!");} }這是Java接口,相當(dāng)于主板上的PCI插槽的規(guī)范cla

3、ssNetworkCardimplementsPCI{publicvoidstart(){System.out.println("Send...");}publicvoidstop(){System.out.println("Networkstop!");} }聲卡、網(wǎng)卡都實現(xiàn)了PCI插槽的規(guī)范,但行為完全不同www.cssxt.com一個實例publicclassAssembler{publicstaticvoidmain(String[]args){PCInc=newNetworkCard();PCIsc=newSoundCard();nc.st

4、art();sc.start();} }可以使用Java接口標(biāo)識類型運行時,根據(jù)實際創(chuàng)建的對象類型調(diào)用相應(yīng)的方法實現(xiàn)Dudu...Send...控制臺輸出21www.cssxt.com生活中的接口USB接口使用USB接口必須符合USB規(guī)范接口是一套規(guī)范,遵守這個規(guī)范就可以實現(xiàn)功能www.cssxt.com接口的特點JAVA中一個類能否繼承多個父類?接口:接口可以說是對繼承單根性的擴展接口提供了一組規(guī)范、一個標(biāo)準(zhǔn)接口屏蔽了實現(xiàn)的細節(jié)方便多人協(xié)同開發(fā)特點:接口不能被實例化不管是否標(biāo)識,接口中所有方法都是抽象的,公共的。接口中只能定義常量www.cssxt

5、.com用接口實現(xiàn)讓我們?yōu)榍嗤苷乙粋€合法的身份?www.cssxt.comJAVA接口開發(fā)這樣一個小系統(tǒng),包含類型:教員、中心、打印機,具體要求如下:教員、以及中心都具有方法:輸出詳細信息中心具有屬性:打印機,能夠通過中心的打印機打印教員或中心的詳細信息系統(tǒng)要具備良好的可擴展性與可維護性打印教員中心教員 詳細信息中心 詳細信息detail方法(輸出詳細信息)www.cssxt.comJAVA接口以下這個解決方案中存在著什么問題?publicclassUCSTeacher1{//輸出教員的詳細信息publicStringdetail(){return"

6、本人是CSU教員";}}publicclassUCSSchool1{privatePrinterprinter=newPrinter();//輸出中心的詳細信息publicStringdetail(){return"這里是CSU中心";}//使用打印機打印教員信息publicvoidprint(UCSTeacher1t){printer.print(t.detail());}//使用打印機打印中心信息publicvoidprint(UCSSchool1s){printer.print(s.detail());}}publicclassPrinter{

7、publicvoidprint(Stringcontent){System.out.println("開始打?。?);System.out.println(content);}}每增加一種新類型,都需要增加相應(yīng)的print(類型名稱var)方法——程序的可擴展性及可維護性極差——這不符合系統(tǒng)的要求www.cssxt.com用Java接口重構(gòu)項目在這個系統(tǒng)中,存在繼承關(guān)系嗎?教員、中心屬于兩種不同的類型,無法通過“is-a”找到一個合適的父類教員、中心都存在一個共同的方法特征:detail,它們對detail方法有各自不同的實現(xiàn)——這完全符合Java接

8、口的定義www.cssxt.com類圖定義一個Java接口,在其中定義detail方法,但沒有具體實現(xiàn)實現(xiàn)這

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。