程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 屬性與字段的區別,屬性字段區別

屬性與字段的區別,屬性字段區別

編輯:C#入門知識

屬性與字段的區別,屬性字段區別


從兩者的聲明上來看,公共字段只是類用public修飾符所公開的簡單公共變量,而屬性則是對字段的封裝,它使用get和set訪問器來控制如何設置或返回字段值。

由於屬性的實質是方法(get或set方法),在IL中是沒有屬性的概念的。所以對於開發過程中常用的賦值和取值操作來說,使用公共變量肯定會比使用屬性速度要快,性能上也稍高(方法和變量哪個速度不用說了吧)。

公共字段雖然在速度上快,但它必須開放字段為public,這樣一來對象的調用者便可以直接修改其值,值的內容是否合法,運行中是否會出錯,就沒有了保障,進而會大大降低類的可重用性;相反,屬性類似於方法,它可以對存入的變量的值進行處理,如果覺得該值不合法,可以就地變換或者直接提出警告。這對該類的對象的使用安全有很大好處,在運行過程中,因公共變量值的錯誤而產生的問題會大大減少。

從上述內容來看,兩者各有優缺點,在實際項目開發過程中,我們究竟選擇使用哪一種方式呢?

如果滿足下面幾個條件,那麼我們便可以大膽地使用公共字段:

1. 允許自由讀寫;

2. 取值范圍只受數據類型約束而無其他任何特定限制;

3. 值的變動不需要引發類中其它任何成員的相應變化;

屬性的使用條件則恰好跟變量相反,只要滿足下面任何一個條件,就應該使用屬性:

1. 要求字段只能讀或者只能寫;

2. 需要限制字段的取值范圍;

3. 在改變一個字段的值的時候希望改變對象的其它一些狀態;

總結:雖然在實際項目的開發過程中,公共字段和屬性在合適的條件下都可以使用,但是我們應該盡可能的使用屬性(property),而不是數據成員(field);把所有的字段都設置為私有字段,如果要暴露它們,則把它們封裝成屬性,這也是微軟推薦的方式。

http://www.cnblogs.com/netlyf/archive/2010/12/20/1910977.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved