1. 定義:
定義一個接口胆绊,在語法上跟定義一個抽象類完全相同,但不允許提供接口中任何成員的實現(xiàn)方法欧募。
一般情況下压状,接口只能包含方法,屬性跟继,索引器和事件的聲明种冬。
接口不能包含常量、字段还栓、運算符碌廓、實例構(gòu)造函數(shù)、析構(gòu)函數(shù)或類型剩盒。
接口成員會自動成為公共成員谷婆,不能包含任何訪問修飾符。 成員也不能是靜態(tài)成員辽聊。
當(dāng)類或結(jié)構(gòu)實現(xiàn)接口時纪挎,類或結(jié)構(gòu)必須為該接口定義的所有成員提供實現(xiàn)。 接口本身不提供類或結(jié)構(gòu)可以通過繼承基類功能的方式來繼承的任何功能跟匆。 但是异袄,如果基類實現(xiàn)接口,則從基類派生的任何類都會繼承該實現(xiàn)玛臂。
2. 使用注意:
每個類只能繼承一個類烤蜕、但是可以實現(xiàn)多個接口
3. 案例:
// 定義一個接口
interface IEnemyPort
{
void Attack();
void Move();
}
// 實現(xiàn)一個接口
public class Boss : IEnemyPort
{
public void Attack()
{
}
public void Move()
{
}
}
4. 接口的繼承
繼承其他的接口封孙,就具備了其他接口聲明的方法。 并且可以擴充自己的方法定義讽营。
遵守該接口的類虎忌,需要將其所有的接口和繼承的接口中的方法定義都實現(xiàn)。
public interface IBossPort : IEnemyPort
{
void CallHelp();
}