




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
C#程序設(shè)計
第3章C#面向?qū)ο缶幊?接口接口聲明接口成員接口實現(xiàn)及繼承★什么是接口
重點接口的使用方法如何使用實現(xiàn)了某接口的對象如何繼承多個接口接口與抽象類的比較3問題如老師和學(xué)生都會開車,那么開車的方法應(yīng)該放在哪個類?A:Teacher類B:Student類C:兩個都放D:Person類E:重新定義造成代碼冗余如果增加一個工人類,他不會開車。如果繼承這個類,Person類怎么辦?調(diào)用會開車的方法不需要改變自定義一個接口來實現(xiàn)IDrivingLicence4什么是接口接口是引用類型,是一系列需要實現(xiàn)的功能的定義。接口類似于抽象基類,接口不能實例化接口成員包括:方法屬性索引器事件類和結(jié)構(gòu)可以繼承多個接口,接口本身可以繼承多個接口合同、契約、協(xié)議如何使用接口??5接口聲明接口聲明的基本形式如下:[接口修飾符]interface
接口名[:基接口]{
接口體}一般為public注意:建議接口名以大寫字母I開頭接口如果聲明在namespace中,則只能用public修飾默認(rèn)為internal,不能用其他訪問修飾符接口不存儲數(shù)據(jù),所有沒有字段接口中聲明的所有成員隱式地為public和abstract只能是接口例8.7計算顯示框的長和寬6自定義接口interfaceIPersonalIncome{doubleIncome{get;}voidDisplayIncome();}classManager:Employee,IPersonalIncome//學(xué)生收入的實現(xiàn)方式
publicdoubleIncome{get{returnsubvention+scholarship+grants;}}publicvoidDisplayIncome(){Console.WriteLine("{0},是一名學(xué)生,總收入{1}",name,Income);}1、定義一個收入的接口2、在能計算收入的類實現(xiàn)該接口3、不同的類計算的方式不同//經(jīng)理收入的實現(xiàn)方式publicdoubleIncome{get{returnSalary+Bonus;}}publicvoidDisplayIncome(){Console.WriteLine("{0},是一名經(jīng)理,總收入{1}",Name,Income);}7接口接口聲明接口成員接口實現(xiàn)及繼承★接口和抽象類的區(qū)別8接口的方法成員接口成員接口成員聲明不能包含任何修飾符只能包含成員的簽名(返回值類型+方法名+參數(shù)列表)不能包含任何靜態(tài)成員public9接口屬性成員屬性可以在接口中聲明:不能加修飾符屬性的訪問器沒有方法體只是通過get和set指定屬性的訪問類型10接口索引器成員語法格式:不能加修飾符屬性的訪問器沒有方法體數(shù)據(jù)類型
this[索引參數(shù)表]{get;或set;};11接口接口聲明接口成員接口實現(xiàn)及繼承★12接口實現(xiàn)要實現(xiàn)一個接口,需要聲明一個類或結(jié)構(gòu),讓它們從接口繼承,并實現(xiàn)接口指定的全部方法接口的實現(xiàn)類可以是派生類或派生類的子類,并且這些派生類可以包括一些自己特有的類成員。接口的實現(xiàn)如下:[修飾符]class
類名:基類,接口1,接口2{
類體}實現(xiàn)接口的成員必須和接口成員有相同的簽名不能加override如何使用實現(xiàn)了某接口的對象?13使用自定義接口1、接口作為參數(shù)使用publicvoidTest(IPersonalIncomeincome){income.DisplayIncome();}無論是哪中類型的對象,這里都不需要變化2、接口作為返回值使用Test(newManager("張三",30,3000,3000));privateIPersonalIncomeCreateIPersonalIncome(stringtype){
switch(type){case“Manager": f=newManager("張三",30,3000,3000);break;…}returnf}返回一個實現(xiàn)該接口的對象f.getLength()以實現(xiàn)接口的對象作為參數(shù)14is與as操作符is檢查對象是否與指定類型兼容if(ois
IPersonalIncome)f=(IPersonalIncome)o;判斷對象o是否是IFlyable類型as用于在兼容的引用類型之間執(zhí)行轉(zhuǎn)換IPersonalIncomef=oasIPersonalIncome;If(f==null)
Console.WriteLine("不是有效的類型。");elsef.getLength();轉(zhuǎn)換失敗返回值為空一種類型轉(zhuǎn)換方式15接口的使用及繼承如何使用接口繼承多個接口單繼承;但可以實現(xiàn)多個接口。繼承接口的接口接口可以繼承一個或多個其他接口。接口繼承它父接口所有成員,并且接口用戶必須實現(xiàn)所有被繼承接口的所有成員。在確定對象實現(xiàn)了某個特定接口之后,就可以引用該接口。可以把對象類型強制轉(zhuǎn)換為接口類型。基類放在第一位1617接口實現(xiàn)接口的顯式實現(xiàn)顯式實現(xiàn)是通過使用接口的完全限定名來實現(xiàn)接口成員的顯式接口成員實現(xiàn)不能使用任何修飾符顯示接口只能通過接口的對象來使用,不能通過類的實例進行訪問。接口的隱式實現(xiàn)實現(xiàn)接口成員的方法或?qū)傩缘缺仨毷莗ublic和非靜態(tài)的類實現(xiàn)一個接口時,必須實現(xiàn)整個接口。一個類實現(xiàn)多個接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力設(shè)備原料質(zhì)量檢測與電力工程合作協(xié)議
- 教練和女兒私下協(xié)議書
- 咖啡廳加盟合同協(xié)議書
- 財產(chǎn)賬戶協(xié)議書
- 藥店變更協(xié)議書
- 郵儲就業(yè)協(xié)議書
- 屠宰檢疫員合同協(xié)議書
- 合同外增加工程協(xié)議書
- 郵寄快遞協(xié)議書
- 液化氣供氣合同協(xié)議書
- 護士分層級管理及培訓(xùn)陶英課件
- 優(yōu)秀課例丨氯氣的性質(zhì)
- 2009年《四川省建設(shè)工程工程量清單計價定額》
- 監(jiān)理平行檢查記錄表格模板
- 實驗室生物安全手冊(完整版)資料
- 臨時圍擋施工方案(標(biāo)準(zhǔn)版)
- 中班語言《噓我們有個計劃》課件
- 水墨中國風(fēng)名著《水滸傳》簡介主題PPT模板課件
- Q∕GDW 11958-2020 國家電網(wǎng)有限公司應(yīng)急預(yù)案編制規(guī)范
- TCSCS 009-2020 鋼結(jié)構(gòu)滑移施工技術(shù)標(biāo)準(zhǔn)
- 小學(xué)英語GreedyRabbit教案
評論
0/150
提交評論