




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C#程序設計
第3章C#面向對象編程2接口接口聲明接口成員接口實現及繼承★什么是接口
重點接口的使用方法如何使用實現了某接口的對象如何繼承多個接口接口與抽象類的比較3問題如老師和學生都會開車,那么開車的方法應該放在哪個類?A:Teacher類B:Student類C:兩個都放D:Person類E:重新定義造成代碼冗余如果增加一個工人類,他不會開車。如果繼承這個類,Person類怎么辦?調用會開車的方法不需要改變自定義一個接口來實現IDrivingLicence4什么是接口接口是引用類型,是一系列需要實現的功能的定義。接口類似于抽象基類,接口不能實例化接口成員包括:方法屬性索引器事件類和結構可以繼承多個接口,接口本身可以繼承多個接口合同、契約、協議如何使用接口??5接口聲明接口聲明的基本形式如下:[接口修飾符]interface
接口名[:基接口]{
接口體}一般為public注意:建議接口名以大寫字母I開頭接口如果聲明在namespace中,則只能用public修飾默認為internal,不能用其他訪問修飾符接口不存儲數據,所有沒有字段接口中聲明的所有成員隱式地為public和abstract只能是接口例8.7計算顯示框的長和寬6自定義接口interfaceIPersonalIncome{doubleIncome{get;}voidDisplayIncome();}classManager:Employee,IPersonalIncome//學生收入的實現方式
publicdoubleIncome{get{returnsubvention+scholarship+grants;}}publicvoidDisplayIncome(){Console.WriteLine("{0},是一名學生,總收入{1}",name,Income);}1、定義一個收入的接口2、在能計算收入的類實現該接口3、不同的類計算的方式不同//經理收入的實現方式publicdoubleIncome{get{returnSalary+Bonus;}}publicvoidDisplayIncome(){Console.WriteLine("{0},是一名經理,總收入{1}",Name,Income);}7接口接口聲明接口成員接口實現及繼承★接口和抽象類的區別8接口的方法成員接口成員接口成員聲明不能包含任何修飾符只能包含成員的簽名(返回值類型+方法名+參數列表)不能包含任何靜態成員public9接口屬性成員屬性可以在接口中聲明:不能加修飾符屬性的訪問器沒有方法體只是通過get和set指定屬性的訪問類型10接口索引器成員語法格式:不能加修飾符屬性的訪問器沒有方法體數據類型
this[索引參數表]{get;或set;};11接口接口聲明接口成員接口實現及繼承★12接口實現要實現一個接口,需要聲明一個類或結構,讓它們從接口繼承,并實現接口指定的全部方法接口的實現類可以是派生類或派生類的子類,并且這些派生類可以包括一些自己特有的類成員。接口的實現如下:[修飾符]class
類名:基類,接口1,接口2{
類體}實現接口的成員必須和接口成員有相同的簽名不能加override如何使用實現了某接口的對象?13使用自定義接口1、接口作為參數使用publicvoidTest(IPersonalIncomeincome){income.DisplayIncome();}無論是哪中類型的對象,這里都不需要變化2、接口作為返回值使用Test(newManager("張三",30,3000,3000));privateIPersonalIncomeCreateIPersonalIncome(stringtype){
switch(type){case“Manager": f=newManager("張三",30,3000,3000);break;…}returnf}返回一個實現該接口的對象f.getLength()以實現接口的對象作為參數14is與as操作符is檢查對象是否與指定類型兼容if(ois
IPersonalIncome)f=(IPersonalIncome)o;判斷對象o是否是IFlyable類型as用于在兼容的引用類型之間執行轉換IPersonalIncomef=oasIPersonalIncome;If(f==null)
Console.WriteLine("不是有效的類型。");elsef.getLength();轉換失敗返回值為空一種類型轉換方式15接口的使用及繼承如何使用接口繼承多個接口單繼承;但可以實現多個接口。繼承接口的接口接口可以繼承一個或多個其他接口。接口繼承它父接口所有成員,并且接口用戶必須實現所有被繼承接口的所有成員。在確定對象實現了某個特定接口之后,就可以引用該接口。可以把對象類型強制轉換為接口類型。基類放在第一位1617接口實現接口的顯式實現顯式實現是通過使用接口的完全限定名來實現接口成員的顯式接口成員實現不能使用任何修飾符顯示接口只能通過接口的對象來使用,不能通過類的實例進行訪問。接口的隱式實現實現接口成員的方法或屬性等必須是public和非靜態的類實現一個接口時,必須實現整個接口。一個類實現多個接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫職業藥師試題及答案
- 天津市濱海七所重點學校2025屆數學高二下期末檢測模擬試題含解析
- 云南省施甸縣第三中學2025屆數學高二下期末質量檢測模擬試題含解析
- 云南省屏邊縣民族中學2025屆物理高二下期末質量跟蹤監視模擬試題含解析
- 鹽城市高二年級下學期期終考試地理試題
- 餐飲檔口外賣配送與配送服務合同
- 教育機構場地出租印花稅繳納標準合同
- 餐飲行業服務員競業禁止合同范本
- 教育培訓機構場地租賃分成與課程開發合同
- 拆除工程拆除現場安全管理合同模板
- 北京餐飲垃圾管理制度
- 電子胎心監護應用專家共識解讀
- 超標準洪水應急預案
- 2025湖南中考:英語必背知識點
- 2025年內蒙古自治區呼和浩特市中考二模英語試題 (含答案無聽力音頻及原文)
- 別墅的施工合同范本
- 食鹽安全追溯管理制度
- 食堂餐廳就餐管理制度
- 2025-2030中國移動球幕影院行業市場現狀分析及競爭格局與投資發展研究報告
- 中國政治制度史復習重點
- 人教版七年級下冊數學 期中 數學試卷(含答案)
評論
0/150
提交評論