本帖最后由 段朝骞 于 2013-9-26 12:33 编辑
构造函数是类成员,结构和类是同一个级别
构造函数要和类名一致,是类在实例化时首先调用的,例如:
class People
{
public People(){}
}
如果将构造函数声明为private,则该类不能实例化。
结构要用struct修饰
结构与类共享大多数相同的语法,但结构比类受到的限制更多:
在结构声明中,除非字段被声明为 const 或 static,否则无法初始化
结构不能声明默认构造函数(没有参数的构造函数)或析构函数,但结构可以声明带参数的构造函数。
结构在赋值时进行复制。
将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。
在使用值类型的集合(如 Dictionary<string, myStruct>)时,请务必记住这一点。
结构是值类型,而类是引用类型。与类不同,结构的实例化可以不使用 new 运算符。
一个结构不能从另一个结构或类继承,而且不能作为一个类的基。
所有结构都直接继承自 System.ValueType,后者继承自 System.Object。
结构可以实现接口。
结构可用作可以为 null 的类型,因而可向其赋 null 值。
结构使用时可以使用new也可以不使用,例如:
public struct Color
{
public int x, y;
public Color(int p1, int p2) //结构Color的构造函数
{
x = p1;
y = p2;
}
}
Color c1 = new Color()
Color c2 = new Color(10,10)
Color c3;
c3.x=100;
c3.y=100;
|