C#构造函数和析构函数

概述:
一、构造函数和析构函数是类中比较特殊的两种成员函数,分别用来对对象进行初始化和回收对象资源。
构造函数—————对象初始化!!!
析构函数—————回收对象资源!!
二、对象的生命周期从构造函数开始,从析构函数结束。若是一个类含有构造函数,在实例化该类的对象时就会被调用。若是含有析构函数,则会在销毁对象时调用。
三、构造函数的名字与类名相同,析构函数的名字也跟类名相同,不过析构函数要在名字前加一个波浪号(~)。当退出含有该对象的成员时,析构函数会自动释放这个对象所占用的空间,因此说析构函数是GC自动调用的,不是程序员所控制的。
如:类是Program那么构造函数为public Program(){},里面可带参数
析构函数为~Program(){}
==========================================================
构造函数
构造函数有3个特色:
(1)方法名与类名相同
(2)没有返回类型
(3)主要完成对象的初始化工做
(4)分为无参构造函数和有参构造函数两种
(5)刚开始系统会自动建立一个无参构造函数,但当你建立好了一个有参构造函数后,系统就再也不提供这个无参构造函数了
一、用来初始化新对象的数据成员
二、不带参数的构造函数称为“默认构造函数”。不管什么时候,只要使用new运算符实例化对象,而且再也不为new提供任何参数,就会调用默认构造函数。
 
上面的是默认构造函数,下面是带有参数的构造函数
 
常见错误:
 
能看出哪里错吗?
你的构造函数有返回值类型吗?为何多加了个“string”呢!!!!!!!应去掉string
析构函数
 
一个类中只能有一个析构函数,而且没法调用析构函数,他是被自动调用的
 
 
======================================================================
最后稍微介绍下 重载构造函数
知足的条件是: (1)方法名相同
(2)方法的参数类型、个数、顺序至少有一项不相同
相关文章
相关标签/搜索