物件生命週期
閱讀設定
(由物件剷除跳轉過嚟)
物件生命週期(英文:object lifetime)係物件導向編程上嘅一個概念,指一件物件由「被創造」至「被剷走」之間嘅嗰段時間。當一個程式創建一件物件嗰陣,部電腦內部會搵個記憶體位置嚟裝住件物件嘅數據-「數據」包括件物件啲特性同方法呀噉,而呢個時間點就係件物件嘅生命週期嘅起始點;喺個程式行嘅期間,個程式叫親部電腦用件物件,部機都會由件物件屬嘅記憶體位置攞數據用;而件物件相應嗰啲數據通常會喺三種情況下被剷走[1][2]:
- 喺廿一世紀初,通常當個程式行完嗰陣,部機就會唔再俾個程式霸住嗰啲記憶體位置(
release
),俾第啲程式去用嗰啲記憶體,噉通常表示部電腦會用新嘅數據冚咗舊嗰啲佢; - 噉件物件可能會有解構子(destructor)嘅方法(或者類似功能嘅子程序;睇埋物件剷除),解構子做嘅係剷走一個類別嘅一個實例[3];
物件剷除
[編輯]睇埋:解構子
class Complex {
... // 其他拉雜碼...
// 定義個建構子...
public Complex()
{
real = 0;
img = 0;
}
... // 其他拉雜碼...
~Complex() // 定義 Complex 呢個類別嘅解構子,個解構子喺被執行嗰陣會令部電腦彈「Destructor was called」噉嘅字眼出嚟(方便編程員睇同用)。
{
Console.WriteLine("Destructor was called");
}
參攷
[編輯]- ↑ Object Lifetime and Storage Duration in C++.
- ↑ Object Lifetime and Storage Duration in C++. Linux Hint.
- ↑ Destructors in C++. GeeksForGeeks.
- ↑ Destructors in C#. GeeksForGeeks.