屬性(property
)和字段(
field
)的比較
雖然不是必須的,但是建議將property設定為私有或者可繼承,而通過field來改變property。
using system;
using system.collections.generic;
using system.linq;
using system.web;
;
}internal string internalfiled
public string publicpropertywithpriset
public string publicproperty;
private string privatefiled;
string defaultfiled;
static void mm();}
private class mahui
public int age}}
}
編譯後的結果為:
其中mahui class
中的field
設定是簡化後的
get和
set,編譯後將自動產生兩個私有
property
,然後呼叫
set和
get來改變值。
不管是public
的還是protected
的field
,裡面的
get和
set方法至少有乙個要是預設的訪問修飾,另乙個可以是預設的,也可以是訪問範圍小於當前的,比如
public
修飾的可以將
get或者
set(兩者最多有乙個)修飾為
protected
或者private
使用自動生成字段,
get和
set必須成對出現,否則需要寫成
public string field } private string _field;
如果需要使用自動生成欄位來實現相同功能,則可以這樣寫:
public string field
C 字段,屬性和屬性封裝字段
c 類成員包括 字段,屬性和方法。對於日常對於乙個類我們新增成員時會有幾種方法。如對於乙個person 類,我們對於其中乙個成員 性別 gender 進行定義,可以寫成 1,public string gender 2,public string gender 3,private string ge...
c 欄位和屬性
一 字段 field 可以在宣告欄位的同時賦給它乙個初始值。二 屬性 property 1 引入 假如將字段宣告為public,則在類的外部都可以對該字段進行訪問和更改,違背了類的封裝特性。如果宣告為private,則這種形式的封裝通常又過於徹底。例如,你可能希望欄位從外部唯讀,但從內部可以更改,但...
欄位和屬性(C )
類成員預設為私有成員。如果不為類成員新增訪問修飾符,那麼預設的是private。公共成員需要顯式指定。欄位和屬性是不同的兩個概念 欄位是類中實打實的一種變數。用來儲存與物件相關聯的資料。所以當欄位規定為public時,在當前類之外其他類中 隨 時隨地訪問和修改字段值 只要定義好當前類的例項即可,除s...