標籤:格式 clipboard font color 多重繼承 中繼 mic assets 定義
一、介面的定義
介面是一種參考型別,類似於抽象類別,主要用來定義一些必須實現的功能。一旦定義了一個介面,而且定義了一個實現這個介面的類,使用這些類的使用者就可以完成介面定義的功能。簡單的說,介面就是一種模板,裡面定義了一些方法和屬性。而一個類要實現它,就必須要把介面所有的方法和屬性都實現。
二、介面的聲明
?[存取修飾詞] interface <介面名>
{
//聲明主體
}
例:
interface IControl
{
void Paint();
}
註:在介面中包含的屬性和方法僅僅是一個聲明,不能包含它們的實現,在C#中的介面成員隱含是public,不能再加除new之外的其他修飾符。
三、介面實現
聲明了一個介面只是定義了一些功能,或者說定義了要完成一些功能的契約,要使用這個功能,還必須用類來實現這個介面。
介面實現舉例:
[csharp] view plain copy
- <span style="font-family:Microsoft YaHei;font-size:18px;color:#000000;"> interface INumber//定義介面
- {
- int x
- {
- get;
- set;
- }
- }
- class Number : INumber
- {
- private int myx;
- public Number(int x)
- {
- myx = x;
- }
- public int x//對介面中屬性X的實現
- {
- get { return myx; }
- set { myx = value; }
- }
- }</span>
[csharp] view plain copy
- <span style="font-family:Microsoft YaHei;font-size:18px;color:#000000;"> class AppMain
- {
- private static void WriteX(INumber p)
- {
- Console.WriteLine("x={0}", p.x);
- }
- static void Main()
- {
- Number p = new Number(1);
- WriteX(p);
- string str = Console.ReadLine();
- }
- }</span>
四、介面的多重繼承
C# 不允許多重類繼承,但 C# 允許多重介面實現,這意味著一個類可以實現多個介面。
·介面可以從一個或多個父介面中繼承,格式如下:
interface MyInterface: Ibase1,Ibase2
{ …..}
·介面有類來實現時,格式如下:
class 類名: 父類,介面1,介面2,….,介面n
{ …..}
C#中的介面