c#中字段和屬性的區(qū)別
c#中字段和屬性的區(qū)別
public?class?MyClass{?//?字段:也就是定義在類(lèi)(或結(jié)構(gòu)體)的變量。?private?int?x;?public?int?y;?public?MyClass()?{?x?=?10;?y?=?20;?}?//?屬性:使用get/set包裝存儲(chǔ)器包裝的方法。
?public?int?X?{?get{?return?x;}?set{?x?=?value;}?}}
字段:就是定義類(lèi)或結(jié)構(gòu)體內(nèi)部的定義變量;字段可以是private、protected或public
屬性:本質(zhì)是方法百科(也就是我們常說(shuō)的函數(shù)),只不過(guò)是利用get/set包裝的方法。
屬性X其實(shí)是一對(duì)方法的簡(jiǎn)寫(xiě)(這種簡(jiǎn)寫(xiě)稱(chēng)為“語(yǔ)法糖”)。屬性語(yǔ)法糖等效于
public?class?MyClass{?int?x;?//……?public?int?X()?{?return?x;?}?public?void?X(int?value)?{?x?=?value;?}?//……}
屬性的主要作用增強(qiáng)對(duì)字段的存取控制。
在MyClass中Y任然是字段,是一個(gè)public 性質(zhì)的字段。
在C#中,字段和屬性的區(qū)別是什么
字段.是指數(shù)據(jù)庫(kù)中某一列.比如某數(shù)據(jù)表中有ID.NAME.那么這就是兩個(gè)字段.而屬性.是指在實(shí)例類(lèi)中相應(yīng)的屬性.針對(duì)上述字段.該類(lèi)中就聲明兩個(gè)屬性.一個(gè)ID.一個(gè)NAME.封裝起來(lái)是為了方便使用.體現(xiàn)面向?qū)ο?層次清楚.如:某頁(yè)面要顯示某用戶(hù)的信息.在該頁(yè)面需要操作的數(shù)據(jù)其實(shí)都是該實(shí)例類(lèi)中的屬性.而不用再對(duì)數(shù)組.dataset.datatable等進(jìn)行操作.
C#中字段與屬性有什么不同
“龍龍灬小豬 ”兄的解答偏表面“019094087”兄的解答就更離譜了,建議看下:http://msdn.microsoft.com/zh-cn/library/ms173118.aspx屬性這玩意兒跟字段**的區(qū)別在于取值賦值的操作邏輯是不一樣的,對(duì)于字段,就是直接取值賦值,而對(duì)于屬性,你可以自定義取值賦值的操作。
C#中的字段和屬性有什么區(qū)別
二者都是訪問(wèn)內(nèi)部字段。屬性本質(zhì)上來(lái)說(shuō)是個(gè)方法,但是在通過(guò)屬性給內(nèi)部字段賦值(set)可以加上自己的邏輯判斷或限制等等,通過(guò)屬性取值取值(get)當(dāng)然也可以加一些跟你業(yè)務(wù)邏輯相關(guān)的code。
總之是用屬性是個(gè)好習(xí)慣,不要直接把字段暴露出來(lái)。
對(duì)象,類(lèi),字段,參數(shù),屬性的區(qū)別
簡(jiǎn)單地說(shuō):類(lèi):是一類(lèi)對(duì)象。例如:人對(duì)象:是類(lèi)的具象,例如:你是一個(gè)具體的人字段:是數(shù)據(jù)庫(kù)表的一個(gè)對(duì)象,例如:學(xué)生表有三個(gè)字段:年齡、性別、身份證號(hào)。
屬性:是用來(lái)描述對(duì)象的特性。
例如:你穿什么顏色的衣服、身高、體重等等。返回值:是對(duì)數(shù)據(jù)經(jīng)過(guò)操作后返回的值。函數(shù)、窗體、網(wǎng)頁(yè)等都可以返回值。