C#中咩有多繼承,為了解決多繼承=====接口
什么是接口
接口可以理解為對一組方法聲明進行統一命名,但是這些方法沒有提供任何實現,也就是說,吧一組方法聲明在一個接口中
然后繼承於該接口的類都需要實現這些接口。
注意:
1、接口名稱第一個字符必須是I。
2、接口中的方法不能有訪問修飾符,方法體(方法的具體實現):可以有方法參數和方法返回值
3、接口中可以定義方法、屬性、索引器、事件,不可以定義字段、運算符重載、構造、析構函數、static關鍵字
4、實現接口中的方法時,需要添加訪問修飾符
5、如果一個類繼承的有類和接口時,那么類一定要放到第一位置上。
6、如果多個接口中包含后相同方法名,的方法,我們使用隱式顯示接口后,不知道這個顯示的是哪個接口的方法,這個時候就需要
顯示實現接口。顯示實現接口 void IInterface.Add(){},需要指定那個接口里面的方法,調用的時候需要把子類轉換成父類
(接口)去調用:calss a=new class(); Interface ic=(interface)a;ic.Add();
使用顯示接口實現方式時,需要注意幾個問題
1:若顯示實現接口,方法不能使用任何訪問修飾符。顯示實現的成員默認為私有。
2:顯示實現的成員默認是私有的,所以這些成員不能通過對象直接訪問,此時正確的訪問方式就是把類對象顯示的轉換為接口對象
通過接口來調用方法。
3:當類實現單個接口時,通常使用隱士接口方式,以為對象可以直接訪問接口方法。
4:實現多個接口時候,一般推薦使用顯示的方式。
定義:值描述可屬於任何類或結構的一組相關功能,就是一種規范、功能。
組成:可由屬性、方法、事件、索引器或這四種成員類型的任意組合構成。
接口概述:
在我們的計算機編程中,我們調用的很多函數其實抽象的說是接口.像我們經常聽到的API函數
API其實就是Application programming interface的縮寫,翻譯過來就是應用程序接口!
接口的聲明格式
修飾符 interface 接口名稱
{
成員;
}
注:接口名稱習慣以I開頭,跟在I后的第一個字符也是大寫的,結尾一般以able結尾。如 IClerkable
注意:
接口不能包含字段
接口成員不允許添加訪問修飾符,默認就是public,成員也不能加abstract訪問修飾符。
接口不能包含實現其成員的任何代碼,而只能定義成員本身(如不允許寫具由方法體的函數)
實現過程必須在實現接口的類中完成
如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 接口的聲明 { //接口中默認是public封裝的,在寫上publc作用是一樣的 interface IFlyable { // string _name; 接口中不能有字段 //屬性 string Nmae { //接口中不能有訪問修飾符,get與set要寫作成自動模式 get; set; } //字段 string _name; //接口不能包含字段 //方法 void write(); //接口中的方法不能有方法體。 } }