您好,登錄后才能下訂單哦!
如果,你即將準備開始編程,就是那種 感覺需要很多很多類,而其中有些類,你已經提前知道需要哪些共同的功能。怎么辦?當然首先想到,提前給他們規定好一種模式,規定他們是什么樣的方法,有返回值,還是無返回值,返回啥種類型,等等的規定。
接口,就是可以幫助你的。接口,只是一種規范,一種約束。
1.一旦類實現了接口,類就可以支持接口所指定的所有屬性和成員。
2.聲明接口在語法上與聲明抽象類完全相同,但是不允許接口中有任何成員的具體實現。所以,接口是不能實例化的。不能有構造方法和字段。
3.不能有修飾符,如public,private,不能聲明虛擬的,或者靜態的。
4.實現接口的類必須實現接口中所有的方法。(類似于抽象類中的抽象方法必須要全部實現)。
5.一個類可以支持實現多個接口,多個類也可以支持相同接口。
6.接口的命名,前面要加一個大寫的"I".
接口用interface聲明,不能用class,接口名稱前面要加,"I",接口中的屬性或方法不能有修飾符,方法或方法體。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | interface IPlay { // int _id; 這種情況是錯誤的,因為接口中不能有字段 int Num //這種情況是正確的,因為這是屬性,屬性的本質是兩個方法組成(get,set)。 { get ; set ; } void PlayGame(); //只要定義,實現該接口的類必須要實現該方法 void PlayBasketball(); } interface IEat { void EatFruit(); } class Man:IPlay,IEat //一個類可以實現多個接口,并用逗號隔開,還可以繼承類,但是只能一個,可以自己試試。 { public int Num //屬性也是要實現的,因為他就是方法嘛,字段的話就不可以。你可以試試。 { get ; set ; //這邊是簡寫了,不清楚屬性的可以去查查屬性是啥,再強調一遍,這就是兩個方法 } public void PlayGame() { Console.WriteLine( "I can PlayGame" ); } public void PlayBasketball() { Console.WriteLine( "I can Play BasketBall" ); } public void EatFruit() { Console.WriteLine( "I Can Eat Fruit" ); } } ------- static void Main( string [] args) { Man m = new Man(); m.EatFruit(); m.Num = 2; m.PlayBasketball(); m.PlayGame(); Console.Read(); } |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。