自己建网站多少钱,注册安全工程师题库,wordpress配置搜索引擎优化,音乐版权购买网站C#基础——构造函数、析构函数
1、构造函数
构造函数是一种特殊的方法#xff0c;用于在创建类的实例时进行初始化操作。构造函数与类同名#xff0c;并且没有返回类型。
构造函数在对象创建时自动调用#xff0c;可以用来设置对象的初始状态、分配内存、初始化字段等操作…C#基础——构造函数、析构函数
1、构造函数
构造函数是一种特殊的方法用于在创建类的实例时进行初始化操作。构造函数与类同名并且没有返回类型。
构造函数在对象创建时自动调用可以用来设置对象的初始状态、分配内存、初始化字段等操作。一个类可以定义多个构造函数它们可以有不同的参数列表称为重载构造函数。 构造函数语法结构
class ClassName
{// 默认构造函数public ClassName(){// 构造函数的代码逻辑}// 带参数的构造函数public ClassName(parameters){// 构造函数的代码逻辑}
}class Person
{//get与set 代表展开了属性赋值取值的过程//get表示当使用这个属性的时候会执行的代码//set表示为这个属性赋值的时候会执行的代码public string Name { get; set; }public int Age { get; set; }// 默认构造函数public Person(){//this 关键字 代表当前实例的对象属性都要 对象.属性//在当前类中this代表当前实例的对象开发者不需要在创建了//如果不写this程序会自动补充this.Name guobeibei;Age 18;}// 带参数的构造函数(重构)//重构是指在同一个类中定义多个不同参数的构造函数public Person(string name, int age){Name name;Age age;}//还可以声明静态构造函数static People() {//注意静态构造函数不能直接进行调用是自动调用的//(访问实例构造函数的时候会自动激活静态构造函数)Console.WriteLine(这是静态构造函数);}
}// 创建Person对象并使用构造函数进行初始化
Person person1 new Person(); // 使用默认构造函数
Console.WriteLine(person1.Name); //郭贝贝// 使用带参数的构造函数(重构)
Person person2 new Person(郭贝贝同学, 19);
Console.WriteLine(person2.Name); // 郭贝贝同学
Console.WriteLine(person2.Age); // 19构造函数与普通函数的区别
两者不同点构造函数普通函数触发时机在创建类的实例对象时自动触发用于初始化对象的成员变量。需要通过对象或类名来调用根据需要手动触发执行。返回类型没有返回类型包括void。它们的目的是初始化对象而不是返回值。具有返回类型可以通过return语句返回值。方法名与类名相同用于标识该构造函数用于创建对象的初始化工作。可以自定义方法名以便更好地描述方法的功能。调用方式由编译器根据对象的创建来自动调用且每次创建对象时只能调用一次构造函数。需要通过对象或类名显式调用可以多次调用。对象初始化用于初始化对象的成员变量为它们分配内存并设置初始值。可以对对象进行操作和修改但不会影响对象的创建和初始化。 构造函数是用于对象的初始化而普通函数主要用于对象的操作和行为。构造函数在创建对象时自动调用而普通函数需要手动调用。 2、析构函数 构造函数在调用的时候会分配一部分内存这块内存被放在了堆上c#内存回收机制属于自动回收原则意义上来讲不需要手动释放但是如果能够结合良好的编码习惯可以搭配类似于析构函数之类的方法让内存释放更高效。 析构函数当引用对象被回收时会调用该函数可以在此处做一些内存回收一个类中只能有一个析构函数不能继承也不能重载不能被主动调用没有修饰符没有参数。
语法结构
class MyClass
{//析构函数(前面带一个 ~)~MyClass(){// 在这里编写析构函数的代码}
}class People {//设置一个定时器属于连续执行的属性可能不会被程序自动释放容易一直占用内存Timer timer { get; set; }public People() {Console.WriteLine(这是构造函数);}~People() {timer null;}
}