C 建構函式的使用方法

2021-09-06 11:41:12 字數 1023 閱讀 1074

c#建構函式是乙個特殊的類方法。在很多方面,包括訪問修飾符、過載以及引數列表的語法等方面,建構函式與普通的方法是類似的。然而,在使用方面以及行為方面,建構函式也具有許多特殊的語法和語義規則。

下面列出c#建構函式在使用方面及行為方面的一些特殊規則:

1、如果開發人員沒有為乙個類提供建構函式,那麼,c#將提供乙個預設的建構函式。

2、必須使用操作符 new 來呼叫乙個建構函式。

3、建構函式的名稱必須與類的名稱相同。

4、乙個建構函式的返回型別是這個類的乙個例項,而乙個普通方法的返回型別可以是任何型別。

5、建構函式不能覆蓋乙個超類的建構函式,因此,new、virtual、override、abstact以及sealed關鍵字不能在建構函式宣告語句中使用。

6、利用 :this() 和 :base(),建構函式可以呼叫其他建構函式。

在宣告乙個建構函式的時候,如果沒有使用 :this() 或 :base()來顯式地呼叫其他建構函式,那麼c#就插入乙個無引數的 :base()。這可能產生令人驚奇的結果,看一下**: 

using system;  

public class father  

}  public class child :father  

這段**是可以編譯的,但是,如果把注釋標記「//」去除,那麼這段**就無法通過編譯。原因就在於,在子類 child 中的預設建構函式是不帶引數的,另外,在預設情況下,乙個類的建構函式可以呼叫其超類中不帶引數的建構函式。然而,這個 father 類的建構函式需要接收乙個 string 型別的引數,這意味著編譯器無法提供乙個預設的建構函式。在沒有提供引數的情況下,child 類的預設建構函式就無呼叫超類的建構函式。解決辦法參照規則 6 即可解決,修改 child 類:

public class child :father  

}

本文參照了 steven john metsker 編著的《c# 設計模式》中《構造型模式介紹》一文。

c#建構函式的使用方法就介紹到這裡。

c 庫函式 printf函式使用方法

printf 函式是式樣化輸出函式,一般用於向準則輸出裝置按規定式樣輸出訊息。正在編寫步驟時經常會用到此函式。printf 函式的挪用式樣為 printf 式樣化字串 參數列 其中式樣化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出 另一部分是式樣化規定字元,以 開端,後跟乙個或幾個規定...

C 常用函式的使用方法小結

函式在c 中的使用,無非2種地方,一處是函式的定義,一處是函式的呼叫。而函式的定義則非常簡單,由三個部分組成 函式的返回型別 函式名和函式的形參表。當然,這裡不同的函式定義可以還會稍有不同,比如類的成員函式 內聯函式等。這裡我們主要討論函式的呼叫時需要注意的一些問題。一 引數傳遞 我們將函式定義或宣...

乾貨 C 虛函式的使用方法

虛函式的作用 虛函式的使用方法 在什麼情況下應該宣告虛函式 使用虛函式時,有兩點要注意 只有類的成員函式才能被宣告虛函式,即虛函式只用於類的繼承層次結構中 乙個成員函式被宣告為虛函式後,在同一類族中的類就不能再定義乙個該虛函式同名 同型別和同引數同名非虛函式。使用虛函式,系統要有一定的額外空間開銷。...