学习笔记 05----结构、接口、代表、联合
【结构】
类和结构的相似之处有很多:结构可以实现接口,并且可以有同类一样的成员。结构和类在很多重要的方面也不相同,无论如何:结构是数值类型而不是引用类型,而且结构不支持继承。结构的数值或是存储“在堆栈中”或是“在线”。
【接口】
接口定义了一个连接。一个类或这结构必须根据它的连接来实现接口。接口可以把方法、属性、索引和事件作为成员。
【代表】
因为C++和一些其它语言可以用函数指针来进行访问,所以代表(delegates)使得这一特定情况变得可能。与函数指针不同,代表是面向对象的,类型安全并且是可靠的。
代表是引用类型,它从公共基类:System.Delegate派生出来。一个代表实例压缩了一个方法-一个可调用的实体。对于静态方法,一个可调用实体由类和类中的静态方法组成。
代表的一个有趣而且有用的特性是它不知道或这不关心与它相关的对象的类型。对象所要做的所有事情是方法的签名和代表的签名相匹配。这使得代表很适合“匿名”调用。这是个很有用的功能。
定义和使用代表分为三步:声明、实例化和调用。
【联合】
联合类型的声明为一个符号常数相关的组定义了一个类型名称。联合应用于“多选择”的场合,这里运行时间是由在编译时所知道的固定的选择数目所决定。