1. 程式人生 > >C#介面淺談(多重繼承)

C#介面淺談(多重繼承)

介面是啥? 簡單來說就是一種約定,也是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#會報錯,前面說了介面本身就是一個約定,還是一個必須遵守的約定,不像父子類繼承,可以不寫父類中的內容而自動完成,不存在的老哥們。

也可以在繼承父類的同時使用介面,也是用逗號分割。

有不對的地方 歡迎指正