成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學(xué)習(xí)C#接口繼承

開發(fā) 后端
接口(interface)用來定義一種程序的協(xié)定。實(shí)現(xiàn)接口的類或者結(jié)構(gòu)要與接口的定義嚴(yán)格一致。本文我們繼續(xù)來了解C#接口繼承實(shí)現(xiàn)的方法。

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

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

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

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

繼承C#接口實(shí)現(xiàn)圖1 

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

一個(gè)類繼承了所有被它的基本類提供的C#接口實(shí)現(xiàn)程序。

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

繼承C#接口實(shí)現(xiàn)代碼2 

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

繼承C#接口實(shí)現(xiàn)代碼3 

但是,當(dāng)一個(gè)接口方法被映射到一個(gè)類中的虛擬方法,派生類就不可能覆蓋這個(gè)虛擬方法并且改變接口的實(shí)現(xiàn)函數(shù)。例如,把上面的聲明重新寫為:

繼承C#接口實(shí)現(xiàn)代碼4  

就會(huì)看到下面的結(jié)果:

繼承C#接口實(shí)現(xiàn)代碼5 

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

繼承C#接口實(shí)現(xiàn)代碼6 

這里,從Control繼承的類可以通過覆蓋方法PaintControl來對IControl.Paint的實(shí)現(xiàn)程序進(jìn)行特殊化。以上就是有關(guān)C#接口繼承的介紹。

【編輯推薦】

  1. C#3.5新特性的介紹
  2. C#中DirectSound錄音的使用
  3. C#擴(kuò)展方法性能測試對比
  4. C#多標(biāo)簽瀏覽器功能的擴(kuò)展
  5. C#標(biāo)簽的制作:多標(biāo)簽的實(shí)現(xiàn)
責(zé)任編輯:book05 來源: 新浪博客
相關(guān)推薦

2009-08-24 09:55:26

C#接口轉(zhuǎn)換

2009-08-24 11:02:52

C#接口映射

2009-09-24 15:20:54

C#接口定義

2009-08-24 10:06:31

C#接口成員

2009-08-24 10:47:45

C#接口重實(shí)現(xiàn)

2009-08-20 18:06:18

學(xué)習(xí)C#接口

2009-08-12 15:55:12

C#接口定義

2009-05-13 11:50:17

C#多繼承接口

2009-07-30 18:20:21

C#繼承

2024-10-09 07:59:10

C#接口信息

2009-09-01 18:29:10

C#繼承C#多態(tài)

2009-08-31 18:34:57

C#接口事件

2009-08-13 18:15:06

C#繼承構(gòu)造函數(shù)

2009-06-16 10:20:05

多繼承C#

2009-08-27 16:11:03

C# delegateC# event

2009-08-25 10:57:09

C#接口

2009-08-25 17:55:52

C#實(shí)現(xiàn)Strateg

2009-08-24 11:20:03

C#接口

2009-08-25 10:44:08

C#接口定義接口

2009-08-31 13:18:09

C# IWebMess
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区三区在线 | h视频免费在线观看 | 精品视频一区二区三区在线观看 | 日韩精品久久久 | 国产精品视频导航 | 亚洲成网站 | 欧美精品一区在线 | 成人在线h| 成人二区| 欧美日韩国产一区二区三区 | 欧美99 | 久久久久无码国产精品一区 | 国产区一区 | 欧美日韩精品中文字幕 | 在线国产一区二区三区 | 深夜福利亚洲 | 偷拍自拍网| 亚洲精品视频免费 | 91精品国产91综合久久蜜臀 | 久热精品在线 | 国产精品久久久久久婷婷天堂 | 国产精品一区2区 | 久久日韩精品一区二区三区 | 亚洲欧美在线一区 | 亚洲一级毛片 | 久久av网站| 亚洲福利在线观看 | 亚洲一区二区三区四区五区午夜 | 日韩不卡在线 | 免费国产一区 | 欧美天堂 | 99精品免费久久久久久久久日本 | 剑来高清在线观看 | 日韩精品在线一区 | 日本天堂一区二区 | 一区二区不卡 | 国产精品美女久久久久aⅴ国产馆 | 成人国产精品一级毛片视频毛片 | 日本黄色免费大片 | 亚洲精品久久久一区二区三区 | 在线日韩av电影 |