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