您好,登錄后才能下訂單哦!
今天小編給大家分享的是c#接口的定義與實(shí)現(xiàn)方式分享,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。
從技術(shù)上講,接口是一組包含了函數(shù)型方法的數(shù)據(jù)結(jié)構(gòu)。通過這組數(shù)據(jù)結(jié)構(gòu),客戶代碼可以調(diào)用組件對象的功能。C#接口定義的一般形式為:
[attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]
說明:
1、attributes(可選):附加的定義性信息。
2、modifiers(可選): 允許使用的修飾符有 new 和四個(gè)訪問修飾符。分別是:new、public、protected、internal、 private。在一個(gè)接口定義中同一修飾符不允許出現(xiàn)多次,new 修飾符只能出現(xiàn)在嵌套接口中,表示覆蓋了繼承而來的同名成員。The public, protected, internal, and private 修飾符定義C#接口的訪問權(quán)限。
3、指示器和事件。
4、identifier:接口名稱。
5、base-list(可選):包含一個(gè)或多個(gè)顯式基接口的列表,接口間由逗號分隔。
6、interface-body:對接口成員的定義。
7、接口可以是命名空間或類的成員,并且可以包含下列成員的簽名: 方法、屬性、索引器 。
8、一個(gè)接口可從一個(gè)或多個(gè)基接口繼承。
接口這個(gè)概念在C#和Java中非常相似。接口的關(guān)鍵詞是interface,一個(gè)接口可以擴(kuò)展一個(gè)或者多個(gè)其他接口。按照慣例,接口的名字以大寫字母"I"開頭。下面的代碼是C#接口定義的一個(gè)例子,它與Java中的接口完全一樣:
interfaceIShape{ voidDraw(); }
如果你從兩個(gè)或者兩個(gè)以上的接口派生,父接口的名字列表用逗號分隔,如下面的代碼所示:
interface INewInterface: IParent1, IParent2 { }
然而,與Java不同,C#接口不能包含域(Field)。另外還要注意,在C#中,接口內(nèi)的所有方法默認(rèn)都是公用方法。在Java中,方法定義可以帶有public修飾符(即使這并非必要),但在C#中,顯式為接口的方法指定public修飾符是非法的。例如,下面的C#接口將產(chǎn)生一個(gè)編譯錯(cuò)誤。
interface IShape { public void Draw( ) ; }
下面的例子定義了一個(gè)名為IControl 的接口,接口中包含一個(gè)成員方法Paint:
interfaceIControl{ voidPaint(); }
在下例中,接口 IInterface從兩個(gè)基接口 IBase1 和 IBase2 繼承:
interface IInterface: IBase1, IBase2 { void Method1( ) ; void Method2( ) ; }
接口可由類實(shí)現(xiàn)。實(shí)現(xiàn)的接口的標(biāo)識符出現(xiàn)在類的基列表中。例如:
classClass1:Iface1,Iface2{ //class成員。 }
類的基列表同時(shí)包含基類和接口時(shí),列表中首先出現(xiàn)的是基類。
關(guān)于c#接口的定義與實(shí)現(xiàn)方式分享就分享到這里了,希望以上內(nèi)容可以對大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。