黑马程序员——构造函数和析构函数

 

  在C#中,构造函数是当类实例化时首先执行的函数。反之,析构函数是当实例从内存中销毁前最后执行的函数。这两个函数的执行是无条件的,并且不需要程序手工干预。也就是说,只要定义一个对象或销毁一个对象,不用显式地调用构造函数或析构函数,系统都会自动在创建对象时调用构造函数,而在销毁对象时调用析构函数。
  1.构造函数
在实例化对象的时候,对象的初始化是自动完成的,并且这个对象是空的,我们希望创建一个对象时要为其初始化某些特征,在C#中构造函数是特殊的成员函数。
   构造函数的特殊性表现在如下几个方面:
  (1)构造函数的函数名和类名的名称一样。
  (2)构造函数可以带参数,但没有返回值。
  (3)构造函数在对象定义时被自动调用。
  (4)如果没有给定义构造函数,则编译系统会自动生成一个默认的构造函数。
  (5)构造函数可以被重载,但不可以被继承。
  (6)构造函数的类型修饰符总是public。如果是private,则表示这个类不能被实例化,通常用于静态成员类中。
 通过构造函数,实现在产生一个学生对象时为其完成起名工作。
   using System;
  namespace Con
{
    public class Student
  {
     public Student(string_strName)
    {
      this.strName=_strName;
    }
  }
     class Class1
  {
     static void Main(string[] args)
    {
      Student s=new Student("zhangsan");
      Console.WriteLine(s.strName);
    }
   }
}
2.析构函数
 在销毁对象时,有时候也希望能自动做一些“收尾”任务,例如关闭数据库连接等。C#使用析构函数来完成这个功能。
   析构函数也是类的特殊成员函数,它主要用于释放实例。析构函数的特殊性表现在以下几个方面:
   (1)析构函数的名字也与类名相同,只是需要在其前面加一个符号“~”。
   (2)析构函数不接收任何参数,没有任何返回值,也没有任何访问关键字。
   (3)当撤销对象时,自动调用析构函数。
   (4)析构函数不鞥被继承,也不能被重载。
为Student类建立析构函数。
    public class Student
  {
     ~Student()
   {
       Console.WriteLine("Call Destruct Method");
   }
  }

 

 

 

 

posted @ 2014-02-11 14:58  ァ颏餶こ铭訫の  阅读(279)  评论(0编辑  收藏  举报