构造函数与析构函数

来源:互联网 发布:科比1213赛季数据 编辑:程序博客网 时间:2024/05/01 08:28

构造函数和析构函数是在类体中说明的两种特殊的成员函数。
构造函数的功能是在创建对象时,使用给定的值来将对象初始化。

 

构造函数:在实例化对象的时候,对象的初始化是自动完成的,并且这个对象是空的。有时候,希望实例化对象的时候为了增加一些特征。很简单的例子,如

  1.  

    1. public class User
    2. {        
    3.         public User()
    4.         {
    5.             //
    6.             // TODO: 在此处添加构造函数逻辑
    7.             //
    8.         }
    9. }
    简单点说,构造函数就是与类同名的方法,不过没有返回数据类型。通常初始情况下构造函数都是空的。可以在方法中添加代码,以更改初始化的特征。如
    1. public class User
    2. {
    3.         private string strName;
    4.         public User(string _strName)
    5.         {
    6.            this.strName=_strName;
    7.         }
    8. }
    这样,每当实例化USER对象的时候,总汇执行这个为用户取名的函数。

析构函数的功能是用来释放一个对象的。在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。

析构函数的名字也与类相同,知识在其前面加了一个“~”符号。析构函数不接受任何参数,也没有返回值。如

  1.         /// <summary>
  2.         /// 析构函数,释放非托管资源
  3.         /// </summary>
  4.         ~Database()
  5.         {
  6.            if (Connection != null)
  7.            Connection.Close();
  8.         }

当Database这个类被调用,并且使用完之后,都会自动调用这个析构函数来关闭连接。

一般情况下不需要析构函数,.net framework提供了默认的析构函数执行内存清理等工作。如果确实需要注销对象前,完成一些特殊的任务,才需要使用自定义的析构函数,如关闭数据库连接。

原创粉丝点击