詳解C#接口定義和繼承
我們將講解C#接口定義,以及C#接口的語法以及C#多重繼承的實現(xiàn),接口可以繼承其他接口。希望通過本文能對大家了解C#接口定義有所幫助。
C#接口定義
C#不支持多重繼承,但是客觀世界出現(xiàn)多重繼承的情況又比較多。為了避免傳統(tǒng)的多重繼承給程序帶來的復雜性等問題,C# 提出了接口的概念。通過接口可以實現(xiàn)多重繼承的功能。
實現(xiàn)接口的類或結(jié)構(gòu)要與接口的定義嚴格一致。接口描述可屬于任何類或結(jié)構(gòu)的一組相關(guān)行為。接口可由方法、屬性、事件、索引器或這4種成員類型的任何組合構(gòu)成。接口不能包含字段。接口成員一定是公共的。
類和結(jié)構(gòu)可以像類繼承基類或結(jié)構(gòu)一樣從接口繼承,而且可以繼承多個接口。當類或結(jié)構(gòu)繼承接口時,它繼承成員定義但不繼承實現(xiàn)。若要實現(xiàn)接口成員,類中的對應(yīng)成員必須是公共的、非靜態(tài)的,并且與接口成員具有相同的名稱和簽名。類的屬性和索引器可以為接口上定義的屬性或索引器定義額外的訪問器。例如,接口可以聲明一個帶有g(shù)et訪問器的屬性,而實現(xiàn)該接口的類可以聲明同時帶有g(shù)et和set訪問器的同一屬性。但是,如果屬性或索引器使用顯式實現(xiàn),則訪問器必須匹配。
接口可以繼承其他接口。類可以通過其繼承的基類或接口多次繼承某個接口。在這種情況下,如果將該接口聲明為新類的一部分,則類只能實現(xiàn)該接口一次。如果沒有將繼承的接口聲明為新類的一部分,其實現(xiàn)將由聲明它的基類提供。基類可以使用虛擬成員實現(xiàn)接口成員,在這種情況下,繼承接口的類可通過重寫虛擬成員來更改接口行為。
定義接口
接口的聲明采用下列格式:
- 修飾符 interface 接口名稱 :繼承的接口列表
- {
- 接口內(nèi)容;
- }
其中,除interface 和接口名稱,其他的都是可選項,下面是一個C#接口定義的例子,代碼如下:
- public interface iSomeInterface
- {
- void UpdateDataBase();
- }
接口繼承
一個接口可以從一個或多個基接口繼承。例如:
- interface iOthrerInterface :iSomeInterface,iCom
- {
- int CompareTo(object obj);
- }
【編輯推薦】