六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

第15章 接口[《.net框架程序設計》讀書筆記]

[摘要]第十五章 接口摘要: 接口的應用及完全限定名方式定義接口的應用。 一、 接口與繼承l C#支持單實現繼承和多接口繼承l 接口中可以定義:事件、無參屬性(屬性)、含參屬性(索引器);C#不允許接口定義任何靜態成員(CLR卻允許定義靜...
第十五章 接口

摘要:

接口的應用及完全限定名方式定義接口的應用。



一、 接口與繼承

l C#支持單實現繼承和多接口繼承

l 接口中可以定義:事件、無參屬性(屬性)、含參屬性(索引器);C#不允許接口定義任何靜態成員(CLR卻允許定義靜態成員);CLR不允許接口定義實例字段和構造器。

l 缺省為public abstract 方法,但不可用任何修飾符進行修飾(包括public)

l 將值類型轉換為接口類型(假設其實現了某個接口),則值類型被裝箱為引用類型,以調用其中的接口方法。



實現接口繼承或實現繼承的原則:

l 存在IS-A關系使用實現繼承,存在CAN-DO關系使用接口繼承

l 實現繼承可繼承父類型的實現,由于接口中沒有定義方法的實現,因此繼承后必須實現方法

l 考慮到每個人對接口實現的不同,使用實現繼承可同一部分功能的實現

l 為父類型添加方法可能不影響使用繼承自該類型實現的用戶,而為接口添加方法導致用戶必須為新方法添加實現

二、 利用接口改變已裝箱類型中的字段

實際上是將已裝箱類型轉型為接口類型,然后通過調用方法進行值改變。

因為對已裝箱類型進行拆箱到原值類型將在堆棧上聲稱新的值類型,調用這個新的值類型的方法不能改變以裝箱類型的值。



三、 實現多個有相同方法的接口

使用 接口名.方法名 的形式聲明實現了那個接口的方法。成為 完全限定接口名,這樣定義的方法被認為是私有方法,不能使用類型本身調用;當將類型轉換為接口類型時,完全限定接口名定義的方法又變成一個公有方法。(比較奇特,也很有用);使用完全限定接口名定義的方法不能使用任何訪問修飾符。



四、 顯示接口成員實現

問題的提出:通常接口接受的參數為Object,這樣的參數非強類型安全的,可能需要在我們自定義類型的接口實現中定義強類型安全的方法,同時也需要實現“接口合同”

問題解決:通過上面的完全限定接口名方式定義接口方法,可達到這樣的效果。

優點:獲得強類型支持,可在編譯期發現類型不匹配問題,而不是到運行期。同時,調用自定義的方法不必進行裝箱操作,提高了效率。

缺點:由于我們在類型中隱藏了接口實現(必須將轉型為接口才能暴露出接口定義的方法),因此可能對使用造成不便,因此應該慎


主站蜘蛛池模板: 欧美一区2区三区4区贰佰公司 | 污视频在线免费观看 | 午夜精品福利视频 | 天使萌一区二区三区免费观看 | 中文字幕在线欧美 | 亚洲第一伊人 | 欧美一区二区三区精品国产 | 欧洲性开放大片免费观看视频 | 天天草综合网 | 欧美在线一二三 | 日韩亚洲视频 | 亚洲一区免费观看 | 欧美一级性视频 | 亚洲成a人片在线观看中文动漫 | 欧美一级情欲片在线 | 亚洲高清国产品国语在线观看 | 天天干天天天天 | 色天使久久 | 中日韩一线二线三线视频 | 在线观看精品自拍视频 | 手机亚洲第一页 | 亚洲狼网站狼狼鲁亚洲下载 | 五月婷婷影院 | 欧美在线一二三区 | 伊人网2021| 亚洲精品中文字幕乱码三区一二 | 在线综合亚洲欧美网站天堂 | 一级女性全黄久久生活片 | 欧美亚洲综合另类 | 日韩中文字幕免费在线观看 | 天天爽夜夜爽人人爽 | 啪啪午夜视频 | 羞羞色在线观看 | 日韩伦理片网站 | 欧洲97色综合成人网 | 亚洲国产成人久久综合一区77 | 伊人久久综合影院首页 | 欧洲日韩视频二区在线 | 日本a网站| 青娱乐免费视频观看 | 欧美在线综合 |