標籤:c# 對象
學習C#有一段時間了,但是在學習的過程中,經常遇到一些不懂得地方,還有在學習C#的過程中,還有時候能讓自己不由自主的想起VB來,這兩天遇到了VB中沒有的兩個函數,我覺的它們很重要,就總結了一下。
談到這兩個函數,不由自主的就與對象的生命週期聯絡起來了,當我們使用對象時,分為三個步驟,第一,構建階段,第二,使用階段,第三,釋放階段。這三個步驟中的第一步和第三步就用到了我剛才所說的建構函式與解構函式,我先說一下建構函式與解構函式在C#中的作用吧!
構造階段:對象最初進行執行個體化的時期。這個初始化過程稱為構造階段,由建構函式完成。
析構階段:在刪除一個對象時,常常需要執行一些清理工作,例如,釋放記憶體,這由解構函式完成。
1、建構函式
在構造階段我們經常使用的就是建構函式,建構函式與類同名,沒有返回值,在建立對象時執行,他的作用是在初始化對象的過程中,對需要初始化Object Storage Service資料。建構函式就是用於初始化資料的函數。我的理解就是給初始化的對象賦值。
建構函式中還有一個靜態建構函式,靜態建構函式的作用是:在使用類中的靜態成員時,需要預先初始化這些成員。在聲明時,可以給靜態成員提供一個初始值,但有時需要執行更複雜的初始化,或者在賦值、執行靜態方法之前執行某些操作。
2、解構函式
對象使用完成之後,有時候我們需要清理它在電腦中所佔的記憶體,這時候我們就用到了解構函式。
解構函式在程式結束時執行,通常在類前面加一個波浪線,一般情況下,.NETFramework使用解構函式清理對象時,不需要提供解構函式的代碼,而是由預設的解構函式自動執行操作。但是,如果在刪除對象執行個體前,需要完成一些重要的操作,就應提供特定的解構函式。例如,如果變數超出了範圍,代碼就不能訪問它, 但該變數仍存在於電腦記憶體的某個地方。只有在.NET運行程式執行其垃極回收,進行清理時,該執行個體才被徹底刪除。
3、總結
構建函數與解構函式的使用時間正好相反,構建函數時在建立對象的時候執行,解構函式是在程式結束的時候執行。解構函式與構建函數都沒有返回值,構建函數可以帶參數,但是解構函式不能夠帶參數。
初識C#——建構函式與解構函式