C#介面淺談(多重繼承)
阿新 • • 發佈:2018-12-26
介面是啥? 簡單來說就是一種約定,也是C#裡面非常重要的.
我們知道在C#中一個派生類(子類)只能由一個父類,那要繼承多種狀態的時候怎麼辦呢,這個時候介面來了。
1.介面是一種約定
2.介面是抽象成員的集合
3.介面是引用型別,比抽象更為抽象
4.介面可以幫助實現多重繼承
5.接口裡的內容必須實現
6.介面沒有欄位 可以有方法、屬性等
7.介面是公共的(public)
8.abstract 、public等 對介面宣告無效
9(重要):介面本來就是公共的,所以不需要給修飾符,否則編譯器報錯
下面看一下介面定義的方式
interface 介面名字{//介面內容}
輸出: 能吃 能飛using System; interface Eat//吃 { void eat();//介面中的內容 } public interface Fly//飛 { void fly();//介面中的內容 } class Bird : Eat, Fly//繼承多個介面以逗號分割 { public void eat() { Console.WriteLine("能吃"); } public void fly() { Console.WriteLine("能飛"); } } public class MainClass { public static void Main() { Bird b = new Bird();//例項化 b.eat();//呼叫 b.fly(); } }
在這個小列子中:
Bird繼承了兩個介面分別是Eat和Fly 並且實現了2個介面的功能,如果不實現C#會報錯,前面說了介面本身就是一個約定,還是一個必須遵守的約定,不像父子類繼承,可以不寫父類中的內容而自動完成,不存在的老哥們。
也可以在繼承父類的同時使用介面,也是用逗號分割。
有不對的地方 歡迎指正