這篇文章給大家介紹C#中怎么利用類實現(xiàn)一個接口,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司于2013年開始,先為龍泉驛等服務建站,龍泉驛等地企業(yè),進行企業(yè)商務咨詢服務。為龍泉驛企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
C#類實現(xiàn)接口
前面我們已經(jīng)說過,接口定義不包括方法的實現(xiàn)部分。接口可以通過類或結(jié)構來實現(xiàn)。我們主要講述通過類來實現(xiàn)接口。用類來實現(xiàn)接口時,接口的名稱必須包含在類定義中的基類列表中。
下面的例子給出了C#類實現(xiàn)接口的例子。其中ISequence 為一個隊列接口,提供了向隊列尾部添加對象的成員方法Add( ),IRing 為一個循環(huán)表接口,提供了向環(huán)中插入對象的方法Insert(object obj),方法返回插入的位置。類RingSquence 實現(xiàn)了接口ISequence 和接口IRing。
using System ; interface ISequence { object Add( ) ; } interface ISequence { object Add( ) ; } interface IRing { int Insert(object obj) ; } class RingSequence: ISequence, IRing { public object Add( ) {…} public int Insert(object obj) {…} }
如果類實現(xiàn)了某個接口,類也隱式地繼承了該接口的所有父接口,不管這些父接口有沒有在類定義的基類表中列出??聪旅娴睦樱?/p>
using System ; interface IControl { void Paint( ); } interface ITextBox: IControl { void SetText(string text); } interface IListBox: IControl { void SetItems(string[] items); } interface IComboBox: ITextBox, IListBox { }
這里, 接口IcomboBox繼承了ItextBox和IlistBox。類TextBox不僅實現(xiàn)了接口ITextBox,還實現(xiàn)了接口ITextBox 的父接口IControl。
前面我們已經(jīng)看到,一個類可以實現(xiàn)多個接口。再看下面的例子:
interface IDataBound { void Bind(Binder b); } public class EditBox: Control, IControl, IDataBound { public void Paint( ); public void Bind(Binder b) {...} }
類EditBox從類Control中派生并且實現(xiàn)了Icontrol和IdataBound。在前面的例子中接口Icontrol中的Paint方法和IdataBound接口中的Bind方法都用類EditBox中的公共成員實現(xiàn)。C#提供一種實現(xiàn)這些方法的可選擇的途徑,這樣可以使執(zhí)行這些的類避免把這些成員設定為公共的。C#類實現(xiàn)接口成員可以用有效的名稱。
關于C#中怎么利用類實現(xiàn)一個接口就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。