屬性與字段的區別

2021-09-05 10:18:39 字數 1002 閱讀 8014

1.  屬性與字段的區別:

在c#中,我們可以毫無限制的訪問公有字段,但是在一些特定的場合,我們可能希望限制只能給字段賦予某個範圍的值,或者要求字段只能讀或只能寫,或者是在改變欄位時能改變物件的其他一些狀態,這些單靠欄位是無法做到的,於是就有了屬性,屬性包括兩個塊:get 和 set ,set 塊負責屬性的寫入工作,get 塊負責屬性的讀取工作。

class cat

//外界呼叫時可以得到欄位的值

set //外界可以給內部的字段賦值}}

(1)由此可以看出,屬性時可控的。屬效能更好的保護資料的安全性。

(2)屬性還可以利用set和get來限制一些欄位的功能,來達到目的。

比如看下面的例子:

private int shoutnum = 3; //宣告乙個內部字段,預設叫的次數為3

public int shoutnum

//外界呼叫時可以得到欄位的值

set}

public string shout()

return "我的名字叫" + name + "" + result;

}

客戶端**:

private void button1_click(object sender, eventargs e)

顯示結果:

(3)屬性沒有儲存資料的功能,資料都存在於字段中,所以只有修改欄位的資料才能更改資料,修改屬性的值沒有用。

2.上面的例子中多數用到修飾符,那麼他們有什麼區別呢?

c#中有幾種常用的修飾符:

如果類的成員沒有加修飾符,則被認為時:private

欄位與屬性的區別

字段 是直接在類或結構中宣告的任何型別的變數。欄位是其包含型別的 成員 屬性是這樣的成員 它提供靈活的機制來讀取 編寫或計算某個私有欄位的值。可以像使用公共資料成員一樣使用屬性,但實際上它們是稱作 訪問器 的特殊方法。這使得可以輕鬆訪問資料,此外還有助於提高方法的安全性和靈活性。class time...

屬性與字段的區別

首先從兩者的宣告上來看,公共字段只是類用public修飾符所公開的簡單公共變數,而屬性則是對字段的封裝,它使用get和set訪問器來控制如何設定或返回字段值。由於屬性的實質是方法 get或set方法 在il中是沒有屬性的概念的。所以對於開發過程中常用的賦值和取值操作來說,使用公共變數肯定會比使用屬性...

欄位與屬性的區別

可以理解為欄位是類內部用的,屬性是類外部用的。下面是個c 寫的例子,這個例子作用是可以通過屬性獲取時間值,但是只能通過settime 方法設定時間值,我想這也是為什麼要分字段和屬性的一大原因吧。首先宣告的是private型別的變數 字段 hours,通常字段寫法都是加個 符號,然後宣告唯讀屬性hou...