C#构造函数与析构函数
1. 构造函数
构造函数是在实例化对象时自动调用的函数。
- 必须与类名一致
- 无返回值类型
- 实例化对象的时候总会先执行构造函数
- 如果没有显示申明,则会默认提供一个空的构造函数
构造函数的作用:
在实例化的时候处理一些事情。
可以理解为启动软件时先要执行的代码。
例如:
public class product
{
public string _name;
public decimal _price;
public string _color;
public product(string n,decimal p,string c) //构造函数
{
_name = n;
_price = p;
_color = c;
}
}
2.析构函数
析构函数是实现销毁一个类实例的方法成员。
凡托管资源,c#均可自动回收,只有使用非托管资源才需要用到析构函数来释放。
- 析构函数不能带有参数和修饰符
- 前缀以 ~ 表示加上类名
- 一个类只能用一个析构函数
- 无法继承或重载
- 无法调用,析构函数是被自动调用
析构函数的作用:
清理非托管资源
~product()
{
//清理那些非托管的资源
}