Attribute
Attribute
(属性)是一种特殊的类,用于为代码元素(如类、方法、属性等)提供元数据。这些元数据可以在编译时、运行时被访问,用于描述代码元素的特性、行为或提供额外的信息
构造函数的类型
-
默认构造函数:如果没有显式定义构造函数,编译器会为类自动生成一个默认的无参数构造函数。这个构造函数通常只调用基类的默认构造函数。
-
参数化构造函数:可以定义一个或多个带参数的构造函数,以允许在创建对象时传递参数,从而提供不同的初始化方式。
-
私有构造函数:私有构造函数用于防止外部代码直接创建类的实例,通常用于单例模式。
-
静态构造函数:静态构造函数是一种特殊的构造函数,它没有访问修饰符,也不带参数。它在类型第一次被使用时自动调用,用于初始化静态成员。
public class Person
{public string Name { get; set; }public int Age { get; set; }// 默认构造函数public Person(){Console.WriteLine("Default constructor called.");}// 参数化构造函数public Person(string name, int age){Console.WriteLine("Parameterized constructor called.");Name = name;Age = age;}// 静态构造函数static Person(){Console.WriteLine("Static constructor called.");}
}class Program
{static void Main(){// 调用默认构造函数Person person1 = new Person();// 调用参数化构造函数Person person2 = new Person("John Doe", 30);// 静态构造函数在Person类第一次被引用时自动调用}
}
- 构造函数可以被重载,这意味着你可以为同一个类定义多个构造函数,只要它们的参数列表不同。
- 如果定义了任何构造函数,编译器就不会自动生成默认构造函数。
- 构造函数可以调用其他构造函数,使用
this
关键字(对于同一个类中的其他构造函数)或base
关键字(对于基类的构造函数)。 - 构造函数不能被继承,但可以通过
base
关键字在派生类中调用基类的构造函数。
构造函数是对象生命周期的起点