介面定義了所有類繼承介面時應遵循的語法合同,介面定義了語法合同 "是什么" 部分,派生類定義了語法合同 "怎么做" 部分,
介面定義了屬性、方法和事件,這些都是介面的成員,介面只包含了成員的宣告,成員的定義是派生類的責任,介面提供了派生類應遵循的標準結構,
介面使得實作介面的類或結構在形式上保持一致,
抽象類在某種程度上與介面類似,但是,它們大多只是用在當只有少數方法由基類宣告由派生類實作時,
定義介面: MyInterface.cs
介面使用 interface 關鍵字宣告,它與類的宣告類似,介面宣告默認是 public 的,下面是一個介面宣告的實體:
interface IMyInterface
{
void MethodToImplement();
}
以上代碼定義了介面 IMyInterface,通常介面命令以 I 字母開頭,這個介面只有一個方法 MethodToImplement(),沒有引數和回傳值,當然我們可以按照需求設定引數和回傳值,
值得注意的是,該方法并沒有具體的實作,
接下來我們來實作以上介面:InterfaceImplementer.cs
實體
using System;
interface IMyInterface
{
// 介面成員
void MethodToImplement();
}
class InterfaceImplementer : IMyInterface
{
static void Main()
{
InterfaceImplementer iImp = new InterfaceImplementer();
iImp.MethodToImplement();
}
public void MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
}
InterfaceImplementer 類實作了 IMyInterface 介面,介面的實作與類的繼承語法格式類似:
class InterfaceImplementer : IMyInterface
繼承介面后,我們需要實作介面的方法 MethodToImplement() , 方法名必須與介面定義的方法名一致,
介面繼承: InterfaceInheritance.cs
以下實體定義了兩個介面 IMyInterface 和 IParentInterface,
如果一個介面繼承其他介面,那么實作類或結構就需要實作所有介面的成員,
以下實體 IMyInterface 繼承了 IParentInterface 介面,因此介面實作類必須實作 MethodToImplement() 和 ParentInterfaceMethod() 方法:
實體
using System;
interface IParentInterface
{
void ParentInterfaceMethod();
}
interface IMyInterface : IParentInterface
{
void MethodToImplement();
}
class InterfaceImplementer : IMyInterface
{
static void Main()
{
InterfaceImplementer iImp = new InterfaceImplementer();
iImp.MethodToImplement();
iImp.ParentInterfaceMethod();
}
public void MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
public void ParentInterfaceMethod()
{
Console.WriteLine("ParentInterfaceMethod() called.");
}
}
實體輸出結果為:
MethodToImplement() called. ParentInterfaceMethod() called.
想了解更多C#知識,請掃描下方二維碼

需加微信交流群的,請加小編微信號z438679770,切記備注 加群,小編將會第一時間邀請你進群!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/262314.html
標籤:C#
上一篇:大數量的資料庫訪問
