对枚举、接口、结构的理解

来源:互联网 发布:全国小龙虾消费数据 编辑:程序博客网 时间:2024/04/30 23:39

枚举:定义一个类型,其中包含提供的限定值集合中的一个值。枚举是值类型的一种特殊形式,它从

System.Enum继承而来,并为基础的基元类型的值提供替代名称。枚举类型有名称、基础类型和一组字段

。基础类型必须是一个内置的有符号(或无符号)整数类型(如Byte、Int32、UInt64)。字段是静态文

本字段,其中的每一个字段都表示常数。同一个值可以分配给多个字段。出现这种情况时,必须将其中某

个值标记为主要枚举值,以便进行反射和字符串转换。
把枚举转换为其他类型时必须使用显式转换,即使枚举中的类型与要转换的类型相同。
把其他类型转换为枚举类型时语法为:(enumerationType)Enum.Parse(typeof

(enumerationType),enumerationValueString);
例:string myString = "west";
orientation myDirection = (orientation)Enum.Parse(typeof

(orientation),myString);//orientation为定义的枚举


结构:是由几个数据组成的数据结构,这些数据可能有不同的类型。
例:struct route
{
public orientation direction;
public double distance;
}
结构与类的定义非常类似,只是限定符后面是struct还是class的区别,而且使用时,定义结构和定义类

的实例的语法也非常的类似。
结构与类的区别是:结构是值类型而类是引用类型。


接口:接口是把公共的方法和属性组合起来以封装特定功能的一个集合。一旦定义了接口就可以在类中实

现它。这样类就可以支持接口所指定的所有属性和成员,一个类可以继承多个接口,接口不能单独存在。

不能像实例化一个类那样实例化接口。另外接口不能包含实现其他成员的任何代码,而只能定义成员本身

。实现过程必须在实现接口的类中实现。
接口描述的是可以属于任何类或结构的一组相关功能。接口可以由事件、属性、方法、索引器或这四种成

员类型的任意组合构成。接口不能包含字段,接口成员一定是公用的。
类之间的关系:1.包含关系:一个类包含另一个类,这类似于继承关系,但包含类可以控制被包含类的成

员的访问,甚至在使用被包含类的成员钱进行其他处理。
2.集合关系:一个类用作另一个类的多个实例的容器。这类似于对象数组。但集合有其他功能,包括索引

、排序、重置大小等。
抽象类(abstract)只能继承不能实例化,密封类(sealed)只能实例化不能继承。
生成对象并初始化要在构造函数中完成。
把代码放在构造函数中的优点:
1.如果在类的构造函数中执行多个任务,把这些代码放在一个地方是非常方便的。
2.方便重载,延迟加载。

原创粉丝点击