C#------构造函数链

构造函数链

class Foo {
    private int id;
    private string name;
    public Foo() : this(0, "") {
    }
    public Foo(int id, string name) {
        this.id = id;
        this.name = name;
    }
    public Foo(int id) : this(id, "") {
    }
    public Foo(string name) : this(0, name) {
    }
   Foo a = new Foo(), b = new Foo(123), c = new Foo("abc"), d = new Foo(456,"def");
 可链使用基地(...)基本型构造
 可以把额外的code到每个构造
 默认的(如果你不指定任何东西)为基地()
 构造函数分为动态构造函数和静态构造函数。

动态构造函数是类或结构实例化时,为其分配内存空间,完成类或结构当中成员变量的初始化工作。动态构造函数可以重载,即相同构造函数名称拥有不同类型和数目的多个构造函数。带参数的构造函数和不带参数的构造函数没有本质区别,带参数的构造函数可以通过传入的变量控制或者直接初始化其中的成员变量,在构造函数中可以为成员变量初始化默认值。
静态构造函数不允许携带参数,即一个类中只允许有一个静态构造函数。它在第一次访问静态成员或者第一次实例化动态该类的对象之前调用。

posted @ 2022-10-20 10:17  郝阳坤  阅读(133)  评论(0)    收藏  举报