您的位置:首页 > 编程语言 > C#

C#之接口定义与实现

2014-04-04 20:05 246 查看
今天我来讲一下关于oop中接口方面的知识,希望大家能够斧正。
oop面向对象编程(Object Oriented Programming),我们接下来将要讲解的是
高级技术,接口的定义和实现。
接口就是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一个接口定义了一个协议,接口可以包含方法、属性、事件和索引。
接口成员的定义和类成员的定义也是相似的,但是也有几个重要的区别:
1.接口成员不允许使用访问修饰符(public、private、protected、或internal),所有接口成员都是公共的。
2.接口成员不能包含代码体。
3.接口不能定义成员字段。
4.接口成员不能用关键字static、virtual、abstract或sealed来定义。
5.类型定义成员是禁止的。
要隐藏继承了基接口的成员,可以用关键字new关键字来重新定义它们,例如:





其效果与隐藏继承的类成员一样。

在接口中定义的属性可以确定访问块get和/或set中的哪一个能用于该属性,例如下







其中int属性MyInt有get和set访问器。对于访问级别有更严限制的属性来说,可以省略它们中的任意一个。

接口的实现

实现接口的类必须包含该接口的所有成员的执行代码,且必须匹配指定的签名(包

括匹配指定的get和set块),并且必须是公共的。

下面举个例子关于实现接口的是派生类如下图:







接口成员也可以显式的执行,但此时该成员就只能通过接口来访问,而不能通过类

来访问。



接口成员的显式实现主要有两个用途:

1.因为显式实现接口成员时,通过类或者结构实例是不可访问接口成员的,所以允

许接口实现在类或结构的公共接口中执行。

2.显式实现接口允许用相同的签名消除接口成员的歧义。

另外接口中定义了属性,则是实现接口的类必须实现匹配的get/set访问器,如果接口中属性只包含set块,也可以给类中的属性添加get块。

关于接口的定义和实现就说这些吧,还有好多不明白的地方,希望大家指正。

下面该讲委托和事件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: