在继续前,先讨论一下如何定义和实现接口。第9章介绍过接口的定义方式与类相似,使用的代码如下:
interface IMyInterface
{
// Interface members.
}
接口成员的定义与类成员的定义相似,但有以下几个重要区别:
•不允许使用访问修饰符(public、private、protected或internal),所有接口成员都是隐式公共的。
•接口成员不能包含代码体。
•接口不能定义字段成员。
•不能用关键字static、virtual、abstract或sealed来定义接口成员。
•类型定义成员是禁止的。
但要隐藏从基接口中继承的成员,可以用关键字new来定义它们,例如:
interface IMyBaselnterface
{
void DoSomething();
}
interface IMyDerivedlnterface : IMyBaselnterface
{
new void DoSomething();
}
其方式与隐藏继承的类成员的方式一样。
在接口中定义的属性可以定义访问块get和set中的哪一个能用于该属性(或将它们同时用于该属性),例如:
interface IMylnterface
{
int Mylnt { get; set; }
}
其中int属性Mylnt有get和set访问器。对于访问级别有更严格限制的属性来说,可以省略它们中的任一个。
接口没有指定应如何存储属性数据。接口不能指定字段,例如用于存储属性数据的字段。最后,接口与类一样,可以定义为类的成员(但不能定义为其他接口的成员,因为接口不能包含类型定义)。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>