中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#接口繼承的方法

發布時間:2021-08-25 18:04:23 來源:億速云 閱讀:202 作者:chen 欄目:編程語言

這篇文章主要講解了“C#接口繼承的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#接口繼承的方法”吧!

C#接口具有不變性,但這并不意味著接口不再發展。類似于類的繼承性,接口也可以繼承和發展。

注意:C#接口繼承和類繼承不同,首先,類繼承不僅是說明繼承,而且也是實現繼承;而接口繼承只是說明繼承。也就是說,派生類可以繼承基類的方法實現,而派生的接口只繼承了父接口的成員方法說明,而沒有繼承父接口的實現,其次,C#中類繼承只允許單繼承,但是接口繼承允許多繼承,一個子接口可以有多個父接口。

接口可以從零或多個接口中繼承。從多個接口中繼承時,用":"后跟被繼承的接口名字,多個接口名之間用","分割。被繼承的接口應該是可以訪問得到的,比如從private類型或internal類型的接口中繼承就是不允許的。接口不允許直接或間接地從自身繼承。和類的繼承相似,接口的繼承也形成接口之間的層次結構。

請看下面的C#接口繼承例子:

C#接口繼承的方法

對一個接口的繼承也就繼承了接口的所有成員,上面的例子中接口ITextBox和IListBox都從接口IControl中繼承,也就繼承了接口IControl的Paint方法。接口IComboBox從接口ITextBox和IListBox中繼承,因此它應該繼承了接口ITextBox的SetText方法和IListBox的SetItems方法,還有IControl的Paint方法。

一個類繼承了所有被它的基本類提供的C#接口實現程序。

不通過顯式的實現一個接口,一個派生類不能用任何方法改變它從它的基本類繼承的接口映射。例如,在聲明中:

C#接口繼承的方法

TextBox中的方法Paint隱藏了Control中的方法Paint,但是沒有改變從Control.Paint到IControl.Paint 的映射,而通過類實例和接口實例調用Paint將會有下面的影響。

C#接口繼承的方法

但是,當一個接口方法被映射到一個類中的虛擬方法,派生類就不可能覆蓋這個虛擬方法并且改變接口的實現函數。例如,把上面的聲明重新寫為:

C#接口繼承的方法 

就會看到下面的結果:

C#接口繼承的方法

由于顯式C#接口成員實現程序不能被聲明為虛擬的,就不可能覆蓋一個顯式接口成員實現程序。一個顯式接口成員實現程序調用另外一個方法是有效的,而另外的那個方法可以被聲明為虛擬的以便讓派生類可以覆蓋它。例如:

C#接口繼承的方法

這里,從Control繼承的類可以通過覆蓋方法PaintControl來對IControl.Paint的實現程序進行特殊化。

感謝各位的閱讀,以上就是“C#接口繼承的方法”的內容了,經過本文的學習后,相信大家對C#接口繼承的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

界首市| 宜丰县| 松桃| 双城市| 莲花县| 永新县| 平舆县| 光泽县| 大石桥市| 诸暨市| 高台县| 乐山市| 高邮市| 大连市| 海丰县| 河北区| 兴山县| 香河县| 桐城市| 衡南县| 盐津县| 新平| 镇巴县| 台南市| 林口县| 仁布县| 桃园市| 崇明县| 娱乐| 岫岩| 江津市| 光山县| 长春市| 喀什市| 凤翔县| 辉县市| 东乌珠穆沁旗| 平罗县| 三门峡市| 镇原县| 乳山市|