C#之析构函数与构造函数

      在学习C#时这两个函数放到一起讲了,听课的时候感觉只是有了肤浅的认识,于是查了一些资料,下面做个比较全面的理解。
      析构函数——垃圾回收器,它用来清理对象时调用
      析构函数不能有参数,不能任何修饰符而且不能被调用,它是自动调用的,这是它与构造函数的一个主要区别。由于析构函数的目的与构造函数的相反,就加前缀‘~’以示区别。
class First
{
~First()
{
System.Diagnostics.Trace.WriteLine("First‘s destructor is called.");
}
}

class Second : First
{
~Second()
{
System.Diagnostics.Trace.WriteLine("Second‘s destructor is called.");
}
}

class Third : Second
{
~Third()
{
System.Diagnostics.Trace.WriteLine("Third‘s destructor is called.");
}
}

class TestDestructors
{
static void Main()
{
Third t = new Third();
}

}
      这里用到了派生, 类 First 是基类,Second 是从 First 派生的,而 Third 是从 Second 派生的。 这三个类都有析构函数。 在 Main() 中,创建了派生程度最大的类的实例。

       构造函数——初始化,它用来在对象调用时进行初始化,下面是一段构造函数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
//调用默认构造函数
Employee objEmployee = new Employee();
Console .WriteLine ("资格=" + objEmployee_qualification);
Console .WriteLine ("薪水=" + objEmployee_salary);
}
}
class Employee
{
private string _name;
private char _gender;
private string _qualification;
private uint _salary;
//默认构造函数
public Employee ()
{
_qualification = "研究生"; 
}
}
}

      构造函数本身无返回值,它不能直接调用,只有通过new运算符创建对象时才能调用,也就是上面所说的初始化类,还有一点需要注意:只有构造函数声明为公有时才能被调用,私有是不能被调用的。构造函数可以是有函数的,也可以是没有函数的。

C#之析构函数与构造函数

上一篇:Photoshop 绘制逼真质感毛绒小猫


下一篇:CDR绘制可爱的卡通外星女孩