人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

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

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

更新時間:2022-09-21 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

第十五章 接口

摘要:

接口的應(yīng)用及完全限定名方式定義接口的應(yīng)用。



一、 接口與繼承

l C#支持單實現(xiàn)繼承和多接口繼承

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

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

l 將值類型轉(zhuǎn)換為接口類型(假設(shè)其實現(xiàn)了某個接口),則值類型被裝箱為引用類型,以調(diào)用其中的接口方法。



實現(xiàn)接口繼承或?qū)崿F(xiàn)繼承的原則:

l 存在IS-A關(guān)系使用實現(xiàn)繼承,存在CAN-DO關(guān)系使用接口繼承

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

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

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

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

實際上是將已裝箱類型轉(zhuǎn)型為接口類型,然后通過調(diào)用方法進行值改變。

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



三、 實現(xiàn)多個有相同方法的接口

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



四、 顯示接口成員實現(xiàn)

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

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

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

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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 荔波县| 乌恰县| 中江县| 怀来县| 类乌齐县| 麻阳| 广南县| 娄底市| 内江市| 中西区| 乐业县| 台北市| 镇雄县| 法库县| 西和县| 巢湖市| 河西区| 安岳县| 自贡市| 厦门市| 曲水县| 永善县| 台中市| 黑水县| 黄浦区| 鹤壁市| 江永县| 涞源县| 兴隆县| 米易县| 县级市| 贵定县| 东港市| 富顺县| 兴海县| 陆河县| 油尖旺区| 荥阳市| 喀什市| 博罗县| 林口县|