版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第四章接口預習檢查如何編寫接口?接口有哪些特性?(說出2個)C#接口與Java接口的區(qū)別有哪些?(說出2個)2/37集中測試回顧及作業(yè)點評如何實現(xiàn)多態(tài)?使用多態(tài)有什么好處?抽象類的特點是什么?抽象方法的特點是什么?點評作業(yè)的提交情況和共性問題提問3/37作業(yè)點評本章任務使用接口設計防盜門功能手機功能組裝一臺計算機打印機打印4/37本章目標掌握接口基礎知識掌握接口作為一種約定和能力的含義使用C#接口編程5/37為什么使用接口要求實現(xiàn)防盜門的功能分析門有“開”和“關”的功能,鎖有“上鎖”和“開鎖”的功能將門和鎖分別定義為抽象類防盜門可以繼承門的同時又繼承鎖嗎?如何解決這個問題呢?將門定義為抽象類,鎖定義為接口防盜門繼承門,實現(xiàn)鎖的接口問題6/37什么是接口認識一下接口接口的特性接口不可以被實例化實現(xiàn)類必須實現(xiàn)接口的所有方法實現(xiàn)類可以實現(xiàn)多個接口接口中的變量都是靜態(tài)常量public
interface
MyInterface{publicvoidfoo();//其他方法}所有方法都是:publicabstractJava中的多繼承常作為類型使用語法7/37如何使用接口用程序描述USB接口問題8/37如何使用接口可以使用Java接口來實現(xiàn)USB接口本身沒有實現(xiàn)任何功能USB接口規(guī)定了數(shù)據(jù)傳輸?shù)囊骍SB接口可以被多種USB設備實現(xiàn)編寫USB接口實現(xiàn)USB接口使用USB接口根據(jù)需求設計方法實現(xiàn)所有方法用多態(tài)的方式使用分析9/37如何使用接口編碼實現(xiàn)publicclassUDiskimplements
UsbInterface{publicvoidservice(){System.out.println("連接USB口,開始傳輸數(shù)據(jù)。");}}publicinterface
UsbInterface{/***USB接口提供服務。*/voidservice();}UsbInterfaceuDisk=newUDisk();uDisk.service();編寫接口實現(xiàn)接口使用接口實現(xiàn)接口使用的關鍵字用接口實現(xiàn)多態(tài)多個接口使用“,”分隔演示示例1:USB接口10/37接口表示一種能力“做這項工作需要一個鉗工(木匠/程序員)”接口是一種能力面向接口編程關心實現(xiàn)類有何能力,而不關心實現(xiàn)細節(jié)鉗工是一種“能力”,不關心具體是誰體現(xiàn)在接口的方法上面向接口的約定而不考慮接口的具體實現(xiàn)程序設計時11/37面向接口編程3-1實現(xiàn)防盜門功能防盜門是一個門防盜門有一個鎖上鎖開鎖能力isa的關系hasa的關系問題分析12/37面向接口編程3-2實現(xiàn)過程定義Lock接口具備上鎖、開鎖的能力具有開門、關門的功能編寫TheftproofDoor類繼承類實現(xiàn)接口編寫測試類讓防盜門關門、上鎖、開鎖、開門定義Door抽象類演示示例2:防盜門功能13/37面向接口編程3-3擴展防盜門門鈴功能,主要是實現(xiàn)拍照存檔一個人可以具有多項能力一個類可以實現(xiàn)多個接口問題演示示例3:防盜門擴展功能14/37學員操作——使用接口實現(xiàn)防盜門功能需求說明:使用面向接口編程實現(xiàn)防盜門的功能開門、關門上鎖、開鎖拍照存檔定義TheftproofDoor類編寫測試類定義Door抽象類定義Lock、DoorBell接口練習完成時間:20分鐘15/37學員操作——使用接口實現(xiàn)手機功能2-1訓練要點:接口的基礎知識接口表示一種能力需求說明:原始的手機,可以發(fā)短信,通電話。隨著發(fā)展,手機增加了功能:音頻、視頻播放、拍照、上網(wǎng)指導講解需求說明16/37學員操作——使用接口實現(xiàn)手機功能2-2實現(xiàn)思路編寫類及接口,參照以下類的結(jié)構圖編寫測試類,讓普通手機播放音頻、發(fā)信息和通電話,讓智能手機上網(wǎng)、播放視頻、照相、發(fā)信息和通電話照相連接網(wǎng)絡普通手機播放智能手機手機指導完成時間:30分鐘17/37共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解18/37小結(jié)如何理解接口是一種能力?接口有比抽象類更好的特性:1.可以被多繼承2.設計和實現(xiàn)完全分離3.更自然的使用多態(tài)4.更容易搭建程序框架5.更容易更換實現(xiàn)……提問19/37接口是一種約定生活中,我們使用的兩相電源插座,規(guī)定了兩個接頭間的額定電壓兩個接頭間的距離接頭的形狀接口是一種約定面向接口編程程序設計時面向接口的約定而不考慮具體實現(xiàn)有些接口只有名稱方法的實現(xiàn)方式要通過注釋來約定體現(xiàn)在接口名稱和注釋上20/37面向接口編程開發(fā)打印機墨盒:彩色、黑白紙張類型:A4、B5墨盒和紙張都不是打印機廠商提供的打印機廠商要兼容市場上的墨盒、紙張問題21/37面向接口編程墨盒和紙張的規(guī)格是一種約定打印機需要遵守這些約定用面向接口編程的方式開發(fā)制定墨盒、紙張的約定或標準打印機廠商使用墨盒、紙張的標準開發(fā)打印機其他廠商按照墨盒、紙張的標準生產(chǎn)墨盒、紙張定義墨盒接口InkBox定義紙張接口Paper定義打印機類實現(xiàn)墨盒接口實現(xiàn)紙張接口約定墨盒標準約定紙張標準用墨盒、紙張接口實現(xiàn)打印方法分析演示示例4:打印機22/37學員操作——組裝一臺計算機2-1訓練要點接口的基礎知識理解接口表示一種約定需求說明采用面向接口編程思想組裝一臺計算機。計算機的主要組成部分有:CPU硬盤內(nèi)存指導講解需求說明23/37學員操作——組裝一臺計算機2-2實現(xiàn)思路定義CPU的接口CPU,返回CPU品牌和主頻定義內(nèi)存的接口EMS,返回容量定義硬盤的接口HardDisk,返回容量編寫各組件廠商分別實現(xiàn)CPU、EMS、和HardDisk接口編寫計算機類,組裝計算機并顯示相關信息編寫測試類運行實現(xiàn)計算機各組件信息定義計算機組成部分指導完成時間:20分鐘24/37共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解25/37小結(jié)編寫和實現(xiàn)接口的語法是什么?接口有哪些特性?(說出3個)閱讀代碼,找出錯誤publicinterfaceMyInterface{publicMyInterface();publicvoidmethod1();publicvoidmethod2(){}privatevoidmethod3();voidmethod4();intmethod5();intTYPE=1;}提問代碼閱讀26/37C#接口2-1C#中的接口[修飾符]
interface
接口名:父接口1,父接口2,……{屬性定義方法定義}class
類名:父類名,接口1,接口2,……{
}語法27/37C#接口2-2定義接口public
class
UDisk:UsbInterface{ publicvoidservice(){Console.WriteLine("連接USB口,開始傳輸數(shù)據(jù)。");}}public
interfaceUsbInterface{ voidService();}示例定義實現(xiàn)類28/37C#接口應用如何使用C#接口實現(xiàn)打印機?問題分析根據(jù)前面Java中的分析,實現(xiàn)思路如下定義墨盒接口、紙張接口定義打印機類實現(xiàn)墨盒接口、紙張接口組裝運行打印機演示示例5:用C#接口實現(xiàn)打印機29/37學員操作——用C#開發(fā)打印機2-1訓練要點C#接口需求說明使用C#開發(fā)打印機指導講解需求說明30/37學員操作——用C#開發(fā)打印機2-2實現(xiàn)思路組裝運行打印機用墨盒、紙張接口實現(xiàn)打印方法打印機用不同墨盒和紙張進行打印約定墨盒的標準約定紙張的標準指導定義墨盒接口InkBox定義紙張接口Paper定義打印機類實現(xiàn)墨盒接口實現(xiàn)紙張接口完成時間:20分鐘31/37共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解32/37語法對比語法對比
Java接口
C#接口VS
Java接口C#接口定義interfaceinterface實現(xiàn)implements:靜態(tài)成員常量無public可以顯示使用不能顯示使用33/37總結(jié)Java中的接口一個類可以實現(xiàn)多個接口,非抽象類實現(xiàn)接口時必須實現(xiàn)接口中的全部方法抽象類利于代碼復用,接口利于代碼維護C#中接口程序開發(fā)成員主要是方法、屬性不能包含常量、變量、構造方法和任何靜態(tài)成員不能顯式指定任何修飾符接口屬性全都是全局靜態(tài)常量方法都是全局抽象方法無構造方法34/37相關學習資源
學習平臺
學生用書《使用Java
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新員工入職合同下載
- 2025廣告發(fā)布委托合同書版范本
- 全新房地產(chǎn)買賣合同范文下載
- 公司業(yè)務擔保合同
- 單位貨物采購合同格式
- 幼兒園股份合伙經(jīng)營合作合同書
- 2024年中考物理(安徽卷)真題詳細解讀及評析
- 地板磚購銷合同模板
- 拓寬知識面的重要性主題班會
- 2025如果合同標的不合格怎么辦反擔保
- 商標法基礎知識
- 2025年高考物理一輪復習之機械振動
- 2024年度市政工程項目三方合作協(xié)議3篇
- (2024)甘肅省公務員考試《行測》真題及答案解析
- 醫(yī)院醫(yī)務人員醫(yī)德考評標準
- 小紅書種草營銷師(初級)認證考試真題試題庫(含答案)
- 癲癇病人的護理(課件)
- 2024年WPS計算機二級考試題庫350題(含答案)
- 2024年6月浙江省高考地理試卷真題(含答案逐題解析)
- 醫(yī)院培訓課件:《如何撰寫護理科研標書》
- 河南省鄭州市2023-2024學年高二上學期期末考試 數(shù)學 含答案
評論
0/150
提交評論