C# 构造函数的使用
C#构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。不带参数的构造函数称为“默认构造函数”。 无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。除非类是 static 的,否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。
构造函数必须是在类里的一级声明,并且命名为类名。
形式为:修饰符 类名(参数类型1 参数名1,。。。)
构造函数分为动态构造函数和静态构造函数。
动态构造函数是类或结构实例化时,为其分配内存空间,完成类或结构当中成员变量的初始化工作。动态构造函数可以重载,即相同构造函数名称拥有不同类型和数目的多个构造函数。带参数的构造函数和不带参数的构造函数没有本质区别,带参数的构造函数可以通过传入的变量控制或者直接初始化其中的成员变量,在构造函数中可以为成员变量初始化默认值。
静态构造函数不允许携带参数,即一个类中只允许有一个静态构造函数。它在第一次访问静态成员或者第一次实例化动态该类的对象之前调用
class RectConstructor { /// <summary> /// length /// </summary> public double length; /// <summary> /// width /// </summary> public double width; public double area() { return length * width; } //下面这个方法就是所谓的构造方法,没有返回值,方法名与类名相同~~~ /// <summary> /// 构造方法 /// </summary> /// <param name="width">width</param> /// <param name="length">width</param> public RectConstructor(double width, double length) { this.length = length; this.width = width; } public RectConstructor() { } }
实例化上述的构造函数和使用
RectConstructor r = new RectConstructor(); r.length = 2; r.width = 3; r.area();
该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数->由构造函数完成成员的初始化工作