C#溫故而知新學習系列之面向對象編程—16-析構函數

        析構函數

  析構函數是在類的破壞時自動執行的操作,析構函數在碎片收集時會自動調用,程序員無法控制何時調用析構函數,因爲這是由垃圾回收器決定的

  垃圾回收器

  與運行時不進行垃圾回收的開發語言相比,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()
          {
            
          }
      }
  }

每天學習一點點,每天進步一點點 用文字記錄工作,用文字記錄人生
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章