1 / 10
文档名称:

第11章 接口和结构.ppt

格式:ppt   页数:10
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第11章 接口和结构.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第11章 接口和结构.ppt

文档介绍

文档介绍:第11章接口和结构
接口是抽象成员的集合,这些抽象成员可以是抽象方法、属性、索引器、事件等。接口是实现多继承的工具。实际上,接口是一些实现特定功能的抽象成员的集合。一个类可以继承多个接口,从而获得多个行为的描述,将它们组合成新的功能并在类中实现。
定义接口
定义接口的格式为:
特性接口修饰符 interface 接口名:基接口列表
{
接口体
}
接口体的声明可以包括:
接口方法声明;接口属性声明;接口事件声明;接口索引器声明
接口
接口
接口可以由类来实现,也可以由结构来实现。所谓实现接口,就是继承它们并且在被继承方法、属性、索引器和事件中填入体现所需行为的代码。
用类实现接口的格式为:
class 类名: [基类],接口,接口,…,接口
{
……// 成员定义部分
}
基类名在接口名之前,基类至多只能有一个,但可以继承零个或多个接口。
实现接口
接口对象
接口中包含的是抽象的方法,接口不可能有真正意义上的对象。但是接口本质上是一组协议,这一点和产生多态对象的基类的作用和地位十分相似,实际上,接口也可以声明对象,而用实现该接口的派生类的构造函数创建对象,本书把这样的接口称为接口对象。利用接口对象可以将实现该接口的派生类作为一个整体来处理。
显式接口成员实现
多继承接口以及隐式继承基接口都有可能使得派生类或者派生接口中出现相同签名的成员,同时也可能出现并不需要的成员。C#接口可以定义显式接口成员实现来避免这些问题。
显式接口成员使用完全限定名称作为该成员的标识符。完全限定名称是用接口名和接口成员名连接而成的,但是这个接口名必须是出现在基接口列表中的显式基接口。实现显式接口成员时应该注意:
显式接口成员实现访问控制权限是private,所以不能用其它访问控制符;
显式接口成员实现不能用abstract、virtual、override或static修饰符;
调用显式接口成员实现时,必须使用接口对象,而不是类对象;
也可以用强制类型转换访问显式接口成员实现。
结构
结构与类类型相似,结构也可以拥有字段、常数、属性、索引器、方法、事件、运算符和嵌套类型等各种成员;结构也可以实现接口。
但是,结构和类之间有本质的差别:结构是值类型,存放在栈中,而类是引用类型,存放在堆中,由此导致了不少语法上的不同,和应用场合的不同。
结构的声明
声明结构的格式如下:
特性修饰符 struct 结构名: 基接口列表
{
……//结构体
}
其中:
特性(attribute)为可选项;
修饰符也是可选项,允许使用的修饰符有:new、public、internal、 protected和 private;
冒号和基接口列表表示继承基接口,基接口之间用逗号分隔,接口的继承是可选的。
结构不能继承类,虽