C# 接口的實(shí)現(xiàn)
在繼續(xù)前,先討論一下如何定義和實(shí)現(xiàn)接口。第9章介紹過接口的定義方式與類相似,使用的代碼如下:
interface IMyInterface
{
// Interface members.
}
接口成員的定義與類成員的定義相似,但有以下幾個重要區(qū)別:
?不允許使用訪問修飾符(public、private、protected或internal),所有接口成員都是隱式公共的。
?接口成員不能包含代碼體。
?接口不能定義字段成員。
?不能用關(guān)鍵字static、virtual、abstract或sealed來定義接口成員。
?類型定義成員是禁止的。
但要隱藏從基接口中繼承的成員,可以用關(guān)鍵字new來定義它們,例如:
interface IMyBaselnterface
{
void DoSomething();
}
interface IMyDerivedlnterface : IMyBaselnterface
{
new void DoSomething();
}
其方式與隱藏繼承的類成員的方式一樣。
在接口中定義的屬性可以定義訪問塊get和set中的哪一個能用于該屬性(或?qū)⑺鼈兺瑫r用于該屬性),例如:
interface IMylnterface
{
int Mylnt { get; set; }
}
其中int屬性Mylnt有g(shù)et和set訪問器。對于訪問級別有更嚴(yán)格限制的屬性來說,可以省略它們中的任一個。
接口沒有指定應(yīng)如何存儲屬性數(shù)據(jù)。接口不能指定字段,例如用于存儲屬性數(shù)據(jù)的字段。最后,接口與類一樣,可以定義為類的成員(但不能定義為其他接口的成員,因為接口不能包含類型定義)。
點(diǎn)擊加載更多評論>>