物件生命週期英文object lifetime)係物件導向編程上嘅一個概念,指一件物件由「被創造」至「被剷走」之間嘅嗰段時間。當一個程式創建一件物件嗰陣,部電腦內部會搵個記憶體位置嚟裝住件物件嘅數據-「數據」包括件物件啲特性同方法呀噉,而呢個時間點就係件物件嘅生命週期嘅起始點;喺個程式嘅期間,個程式叫親部電腦用件物件,部機都會由件物件屬嘅記憶體位置攞數據用;而件物件相應嗰啲數據通常會喺三種情況下被剷走[1][2]

  • 喺廿一世紀初,通常當個程式行完嗰陣,部機就會唔再俾個程式霸住嗰啲記憶體位置(release),俾第啲程式去用嗰啲記憶體,噉通常表示部電腦會用新嘅數據冚咗舊嗰啲佢;
  • 噉件物件可能會有解構子(destructor)嘅方法(或者類似功能嘅子程序;睇埋物件剷除),解構子做嘅係剷走一個類別嘅一個實例[3]

物件剷除

編輯
睇埋:解構子

例如係以下呢段 C♯ 碼噉[4]

class Complex {
    ...  // 其他拉雜碼...
    // 定義個建構子...
    public Complex()
    {
        real = 0;
        img = 0;
    }
    ...  // 其他拉雜碼...
    ~Complex() // 定義 Complex 呢個類別嘅解構子,個解構子喺被執行嗰陣會令部電腦彈「Destructor was called」噉嘅字眼出嚟(方便編程員睇同用)。
    {
        Console.WriteLine("Destructor was called");
    }

參攷

編輯