當前位置:編程學習大全網 - 編程語言 - C#接口是什麽

C#接口是什麽

呢?C#接口(interface)用來定義壹種程序的協定。實現接口的類或者結構要與接口的定義嚴格壹致。有了這個協定,就可以拋開編程語言的限制(理論上)。C#接口可以從多個基接口繼承,而類或結構可以實現多個接口。C#接口可以包含方法、屬性、事件和索引器。接口本身不提供它所定義的成員的實現。接口只指定實現該接口的類或接口必須提供的成員。 C#接口好比壹種模版,這種模版定義了對象必須實現的方法,其目的就是讓這些方法可以作為接口實例被引用。接口不能被實例化。類可以實現多個接口並且通過這些實現的接口被索引。接口變量只能索引實現該接口的類的實例。例子:interface IMyExample { string this[int index] { get ; set ; } event EventHandler Even ; void Find(int value) ; string Point { get ; set ; } } public delegate void EventHandler(object sender, Event e) ; 上面例子中的C#接口包含壹個索引this、壹個事件Even、壹個方法Find和壹個屬性Point。C#接口可以支持多重繼承。就像在下例中,接口"IComboBox"同時從"ITextBox"和"IListBox"繼承。interface IControl { void Paint( ) ; } interface ITextBox: IControl { void SetText(string text) ; } interface IListBox: IControl { void SetItems(string[] items) ; } interface IComboBox: ITextBox, IListBox { } 類和結構可以多重實例化C#接口。就像在下例中,類"EditBox"繼承了類"Control",同時從"IDataBound"和"IControl"繼承。interface IDataBound { void Bind(Binder b) ; } blic class EditBox: Control, IControl, IDataBound { public void Paint( ) ; public void Bind(Binder b) { } } 在上面的代碼中,"Paint"方法從"IControl"接口而來;"Bind"方法從"IDataBound"接口而來,都以"public"的身份在"EditBox"類中實現。 C#接口的總結說明: 1、C#中的接口是獨立於類來定義的。這與 C++模型是對立的,在 C++中接口實際上就是抽象基類。 2、接口和類都可以繼承多個接口。3、而類可以繼承壹個基類,接口根本不能繼承類。這種模型避免了 C++的多繼承問題,C++中不同基類中的實現可能出現沖突。因此也不再需要諸如虛擬繼承和顯式作用域這類復雜機制。C#的簡化接口模型有助於加快應用程序的開發。4、壹個接口定義壹個只有抽象成員的引用類型。C#中壹個接口實際所做的,僅僅只存在著方法標誌,但根本就沒有執行代碼。這就暗示了不能實例化壹個接口,只能實例化壹個派生自該接口的對象。5、接口可以定義方法、屬性和索引。所以,對比壹個類,接口的特殊性是:當定義壹個類時,可以派生自多重接口,而妳只能可以從僅有的壹個類派生。 C#接口的基本情況就向妳介紹到這裏,希望對妳了解C#接口的含義和C#接口的使用有所幫助。

  • 上一篇:2019年高考十大熱門專業
  • 下一篇:求壹篇關於“世界文化遺產賞析”的論文
  • copyright 2024編程學習大全網