10.30笔记

发布于:2024-11-03 ⋅ 阅读:(141) ⋅ 点赞:(0)

Attribute

Attribute(属性)是一种特殊的类,用于为代码元素(如类、方法、属性等)提供元数据。这些元数据可以在编译时、运行时被访问,用于描述代码元素的特性、行为或提供额外的信息

构造函数的类型

  1. 默认构造函数:如果没有显式定义构造函数,编译器会为类自动生成一个默认的无参数构造函数。这个构造函数通常只调用基类的默认构造函数。

  2. 参数化构造函数:可以定义一个或多个带参数的构造函数,以允许在创建对象时传递参数,从而提供不同的初始化方式。

  3. 私有构造函数:私有构造函数用于防止外部代码直接创建类的实例,通常用于单例模式。

  4. 静态构造函数:静态构造函数是一种特殊的构造函数,它没有访问修饰符,也不带参数。它在类型第一次被使用时自动调用,用于初始化静态成员。

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关键字在派生类中调用基类的构造函数。

构造函数是对象生命周期的起点