析构函数

转载 2012年03月31日 13:19:54
析构函数

  析构函数是在类的破坏时自动执行的操作,析构函数在碎片收集时会自动调用,程序员无法控制何时调用析构函数,因为这是由垃圾回收器决定的

  垃圾回收器

  与运行时不进行垃圾回收的开发语言相比,C#无需太多的内存管理,这是因为.NETFramework垃圾回收器会隐式的管理对象的分配和释放,垃圾回收器检查是否存在应用程序不在使用的对象,如果垃圾回收器认为某个对象符合析构,则调用析构函数,并回收此对象占用的内存,应用程序退出时也会调用析构函数

  为什么使用析构函数?

  一般情况下,C#应用程序中很少使用析构函数,但是当应用程序封装窗口,文件和网络连接这些非托管资源时,应该使用析构函数释放这些资源,因为垃圾回收器不是所有的资源都能释放的

  创建析构函数需要注意以下几点

  1:析构函数只能定义在类中,不能定义在结构中

  2:一个类只能有一个析构函数

  3:无法重载析构函数

  4:无法调用析构函数,它们被自动调用

  5:析构函数没有修饰符,也没有参数

  6:析构函数与类同名

  举例

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;

  namespace _14_Destructor
  {
      class Program
      {
          static void Main(string[] args)
          {
          }
      }

      class Student
      { 
          ~Student()
          {
            
          }
      }
  }

相关文章推荐

析构函数应用

  • 2015年06月30日 09:05
  • 654B
  • 下载

C++的析构函数

  • 2014年03月30日 22:49
  • 1.13MB
  • 下载

C#中Dispose、析构函数、close的区别

析构函数不能显示调用,而对于Dispose、close方法来说,都需要进行显示调用才能被执行。 一、Close与Dispose这两种方法的区别 调用完了对象的Close方法后,此对象有可能...

构造、析构函数

  • 2012年07月21日 21:41
  • 27KB
  • 下载

PHP析构函数与垃圾回收

析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。 GC (Garbage Collector) 在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁。这是...

虚析构函数示例

  • 2012年02月07日 11:26
  • 472B
  • 下载

深析C++析构函数

  • 2011年11月15日 18:36
  • 3KB
  • 下载

C++多态之虚基类析构函数的作用

每个含有虚函数的类中都保存着一个指向虚表的指针,而虚表中保存了该类各个虚函数的地址。 而当子类对象过期时,需要被销毁,如果父类对象没有将析构函数声明为virtual,则在销毁子类对象时,只会调用父...
  • Artprog
  • Artprog
  • 2016年02月24日 21:48
  • 966

C++ 析构函数 参考源代码

  • 2014年08月19日 10:33
  • 18KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:析构函数
举报原因:
原因补充:

(最多只允许输入30个字)