📅  最后修改于: 2023-12-03 14:59:44.304000             🧑  作者: Mango
C#中的构造函数可以调用同一个类中的另一个构造函数,以便减少代码的重复。这个语法叫做构造函数重载(Constructor Overloading)。
同一个类中的构造函数可以使用 this
关键字来调用同一个类中的另一个构造函数。例如:
public class MyClass
{
private int myValue;
public MyClass() : this(0)
{
}
public MyClass(int value)
{
myValue = value;
}
}
上面的代码定义了一个叫做 MyClass
的类,这个类包含了两个构造函数。第一个构造函数调用了第二个构造函数来初始化 myValue
。这个语法有点像默认参数值的语法。
在第一个构造函数中,使用 this
关键字来调用第二个构造函数。这个调用必须是构造函数中的第一条语句。
下面是一个更完整的例子:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person() : this("Unknown", 0)
{
}
public Person(string name) : this(name, 0)
{
}
public Person(int age) : this("Unknown", age)
{
}
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
这个例子中定义了一个 Person
类,这个类可以用不同的方式来初始化姓名和年龄:
Person p1 = new Person();
Person p2 = new Person("Tom");
Person p3 = new Person(25);
Person p4 = new Person("Jerry", 30);
每个构造函数都调用了同一个类中的另一个构造函数来初始化属性。这样可以减少代码的重复,提高代码的可读性。
C#中的构造函数可以调用同一个类中的另一个构造函数,以便减少代码的重复。这个语法叫做构造函数重载(Constructor Overloading)。在同一个类中,使用 this
关键字来调用同一个类中的另一个构造函数。这个调用必须是构造函数中的第一条语句。这样可以减少代码的重复,提高代码的可读性。