這篇文章主要講解了“C#接口繼承的方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#接口繼承的方法”吧!
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的曹縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
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)。
請(qǐng)看下面的C#接口繼承例子:
對(duì)一個(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è)派生類不能用任何方法改變它從它的基本類繼承的接口映射。例如,在聲明中:
TextBox中的方法Paint隱藏了Control中的方法Paint,但是沒有改變從Control.Paint到IControl.Paint 的映射,而通過類實(shí)例和接口實(shí)例調(diào)用Paint將會(huì)有下面的影響。
但是,當(dāng)一個(gè)接口方法被映射到一個(gè)類中的虛擬方法,派生類就不可能覆蓋這個(gè)虛擬方法并且改變接口的實(shí)現(xiàn)函數(shù)。例如,把上面的聲明重新寫為:
就會(huì)看到下面的結(jié)果:
由于顯式C#接口成員實(shí)現(xiàn)程序不能被聲明為虛擬的,就不可能覆蓋一個(gè)顯式接口成員實(shí)現(xiàn)程序。一個(gè)顯式接口成員實(shí)現(xiàn)程序調(diào)用另外一個(gè)方法是有效的,而另外的那個(gè)方法可以被聲明為虛擬的以便讓派生類可以覆蓋它。例如:
這里,從Control繼承的類可以通過覆蓋方法PaintControl來對(duì)IControl.Paint的實(shí)現(xiàn)程序進(jìn)行特殊化。
感謝各位的閱讀,以上就是“C#接口繼承的方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)C#接口繼承的方法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享標(biāo)題:C#接口繼承的方法
網(wǎng)站地址:http://jinyejixie.com/article40/peoeeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、微信公眾號(hào)、移動(dòng)網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站改版、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)