C#构造函数和析构函数

1、构造函数和析构函数是类中比较特殊的两种成员函数,分别用来对对象进行初始化和回收对象资源。

构造函数—————对象初始化!!!

析构函数—————回收对象资源!!

2、对象的生命周期从构造函数开始,从析构函数结束。如果一个类含有构造函数,在实例化该类的对象时就会被调用。如果含有析构函数,则会在销毁对象时调用。

3、构造函数的名字与类名相同,析构函数的名字也跟类名相同,不过析构函数要在名字前加一个波浪号(~)。当退出含有该对象的成员时,析构函数会自动释放这个对象所占用的空间,所以说析构函数是GC自动调用的,不是程序员所控制的。

如:类是Program那么构造函数为public Program(){},里面可带参数

析构函数为~Program(){}

==========================================================

构造函数

构造函数有3个特点:

(1)方法名与类名相同

(2)没有返回类型

(3)主要完成对象的初始化工作

(4)分为无参构造函数和有参构造函数两种

(5)刚开始系统会自动创建一个无参构造函数,但当你创建好了一个有参构造函数后,系统就不再提供这个无参构造函数了

1、用来初始化新对象的数据成员

2、不带参数的构造函数称为“默认构造函数”。无论何时,只要使用new运算符实例化对象,并且不再为new提供任何参数,就会调用默认构造函数。

C#构造函数和析构函数

 

上面的是默认构造函数,下面是带有参数的构造函数

C#构造函数和析构函数

 

常见错误:

C#构造函数和析构函数

 

能看出哪里错吗?

你的构造函数有返回值类型吗?为什么多加了个“string”呢!!!!!!!应去掉string

析构函数

C#构造函数和析构函数

 

一个类中只能有一个析构函数,并且无法调用析构函数,他是被自动调用的

 

最后稍微介绍下 重载构造函数

满足的条件是: (1)方法名相同

(2)方法的参数类型、个数、顺序至少有一项不相同

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3d831d485b218aae89bb6a106dd2d4db.html