程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 初探c#(十)界面(Interfaces)

初探c#(十)界面(Interfaces)

編輯:C#入門知識

1.10 界面(Interfaces)

  界面用來定義一種程序的契約。有了這個契約,就可以跑開編程語言的限制了(理論上)。而實現界面的
類或者結構要與界面的定義嚴格一致。界面可以包含以下成員:方法、屬性、索引和事件。例子:*/

interface IExample
{
string this[int index] { get; set; }
event EventHandler E;
void F(int value);
string P { get; set; }
}
public delegate void EventHandler(object sender, Event e);
/*

  例子中的界面包含一個索引、一個事件E、一個方法F和一個屬性P。
  界面可以支持多重繼承。就像在下例中,界面“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 {}
/*

  類和結構可以多重實例化界面。 就像在下例中,類“EditBox”繼承了類“Control”,同時從“IDataBound”和“IControl”繼承。
*/

interface IDataBound
{
void Bind(Binder b);
}
public class EditBox: Control, IControl, IDataBound
{
public void Paint();
public void Bind(Binder b) {...}
}
/*

  在上面的代碼中,“Paint”方法從“IControl”界面而來;“Bind”方法從“IDataBound”界面而來,都以“public”的身份在“EditBox”類中實現。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved