因爲屬性的實質是方法(get或set方法)spa
若是知足下面幾個條件,那麼咱們即可以大膽地使用公共字段:對象
1. 容許自由讀寫;開發
2. 取值範圍只受數據類型約束而無其餘任何特定限制;get
3. 值的變更不須要引起類中其它任何成員的相應變化;class
屬性的使用條件則剛好跟變量相反,只要知足下面任何一個條件,就應該使用屬性:變量
1. 要求字段只能讀或者只能寫;數據類型
2. 須要限制字段的取值範圍;方法
3. 在改變一個字段的值的時候但願改變對象的其它一些狀態;總結
總結:雖然在實際項目的開發過程當中,公共字段和屬性在合適的條件下均可以使用,可是咱們應該儘量的使用屬性(property),而不是數據成員(field);把全部的字段都設置爲私有字段,若是要暴露它們,則把它們封裝成屬性,這也是微軟推薦的方式。數據