初學 C# 的人, 對於 method, property的寫法,有時會搞混, 其實買本語法書, 多練習幾次就ok, 我在此列出它們, 供初學者比較。
public , private 的差異

如上圖所示, 如果 class 裡宣告 public , 表示外部程式呼叫時, 可以呼叫它(可以呼叫 name); 如果沒寫, 表示private ,外部程式就無法呼叫它(無法呼叫 addr), 只能在 Member class 裡呼叫, 有時您會需要在 class 裡寫一些 function 供 class 使用, 此時就可以考慮宣告成 private
建構子的寫法

如上圖所示, 外部程式建立一個新的物件時, 會先執行此物件的建構子, 建構子一定要與 class 名稱相同, 可以有,或沒有引數
方法 ( method ) 的寫法

method 通常用來表示動作, 例如Save, Start, Stop, Delete, Create, Select, 而它的語法如上圖所示, 要記得加傳回型別, 若沒有傳回型別,則要寫 void , 建構子不必寫傳回型別哦!!, 不要搞混了; 至於 method 要不要寫public ,文章一開始已經有說明它們的差異了, 如果忘記了, 請您再捲上去看一下
屬性( property ) 的寫法

屬性通常用來保存類別的一些特質, 例如Size, Color, UserName, Birthday等, 如上圖所示, 比較簡易的寫法,是宣告 field (即上圖的 name), 只需要一行就好了, 但比較正規, 也建議的寫法,是寫成 property(如上圖的 birthday), 為什麼呢? 因為寫成 property 有以下優點:
- 在set{}時, 可以順便檢查傳入值是否合理, 若用 field 就無法做到這點
- 若在property 裡不寫get{} , 外程程式就無法取得值,表示我們可以設計出一個唯寫的 property; 相同的道理, 若property裡不寫 set{} , 就可以設計出一個唯讀的 property; 但您不可以二個都不寫哦, 一個 property 若不能傳入及取得值, 它就沒有用了, 對吧
結論
| |
建構子 |
方法 |
屬性 |
欄位 |
| 需要寫傳回型別 ? |
No |
Yes |
Yes |
直接宣告型別 |
| 可以宣告public or private ? |
Yes |
Yes |
Yes |
Yes |
| 可以宣告要傳入哪些引數 ? |
Yes |
Yes |
No |
沒得寫 |
| 在程式裡需要寫 set, get ? |
No |
No |
Yes |
沒得寫 |