C中的自動屬性是什麼意思,C 中的屬性的意義

2021-04-17 21:01:39 字數 2414 閱讀 5527

1樓:樂觀的l無謂

自動屬性bai就是寫的時候只寫一個du屬性,並不寫欄位,zhi一般情況下dao也不實現。

使用自動屬性方法內:

有兩容個使用場景:

在介面中定義,繼承介面的類就可以用了。

當有個欄位不需要限制訪問,為了程式設計習慣又不想寫成公有欄位,同時有懶得主動寫那個欄位名的時候,就使用自動屬性吧。

自動實現屬性**:

public string str 相當於以下**private string _str;public string strset }將一個域提升為屬性,以後可以對這個屬性進行擴充套件,加上有效性校驗之類的**。

2樓:仇曜燦偶實

某個抄物件的某個特襲性,就是

屬性例:

草莓甜點心

就是你的id的屬性值

例2:有人

名叫張三,

就是這個"人"就是一個物件,他的有個屬性:"名字",這個屬性的值是:"張三"

例3:控制元件按鈕"button1"

button1.text="確定"

也就是這個"按鈕"物件的文字屬性"text",它賦的值是"確定"

3樓:撒和雅艾鬆

就是定義了copy一個你不能訪bai問到的內部私有變數,然後用

du這個內部變

zhi量來儲存和讀取你使用的值,dao跟你自己定義一個內部私有變數實現屬性的訪問是一樣的,區別在於不用寫那麼多**了,不用自己定義私有變數了。這種寫法無法實際業務需求,比如賦值的時候要求不能小於10,那就無法實現了

c# 中的屬性的意義

4樓:涼悲澄

屬性反應了物件導向的程式設計思想,即不能直接操作類的欄位。屬性隔離了欄位,而且能對要賦值的欄位進行監測,合乎要求的才會被允許。

int _age;

public int age

set}

}你提到的第二種寫法是自動屬性。它必須滿足可讀可寫,否則就會報錯。無法編譯。

public int a

private int k__backingfield;// 自動生成的

在編譯的時候,.net framework會自動生成一個欄位,讓屬性操作後臺生成的欄位。如果在建構函式裡,或使用例項物件前,沒給自動屬性賦值,那麼呼叫自動屬性就會出錯。

5樓:陽光的雷咩咩

其實編譯器或者編輯器在暗中定義了相應的欄位。

比如你上面public int a ,這時會自動生成private int get_a;

private int set_a;

也就是說你沒法再顯示定義這兩個欄位,不信你可以試試。

我測試的是.net 4.0.

6樓:匿名使用者

public int a set }這種情況還是有意義的,只是你這樣寫的沒意義,比如說,如果需要在get前加一些操作,或者是set的時候進行一些邏輯校驗(比如說這個屬性對應的是一個資料表的值,如果這個值是超長或者是超大,你需要在賦值前就進行校驗,這樣就有意義了)

單純在單個類中,public int a 與public int a,這樣是沒啥太多意義的。而屬性與變數的區別主要影響在以下幾個方面:

剛才提到的,你可以對屬性的讀與寫進行限定或擴充套件的操作,但變數不行

屬性是可以override或者是new被繼承過載的,但變數不行,並且在繼承過程中,屬性的訪問宣告是可以更改的,如父類是public的,子類可以更改為protected等。

在介面宣告中,屬性是可以用的,變數不行。

像public int a這種情況,也是一樣,在單個類中根本沒有任何意義,但有可能這個宣告是通過inte***ce過來的,你就只需要宣告一下,可以不用,但不能不存在。如果要用到,你就得改其中的**。

7樓:匿名使用者

你的屬性只有get方式,沒有set方式,所以是隻讀的。public int d才是能讀能寫的,set特性才可以賦值。

例如有一個類person,有一個屬性欄位cardid表示身份證號碼,由於每個人的身份證號碼都是從一出生就定性的,所以不能改變,於是只能是隻讀。

那為什麼又不用欄位public int d;表示呢?那樣不是更方便因為屬性是有封裝的,例如身份證號碼怎麼來的呢,假如說是由 省份編號+城市編號+所在地編號+出生年月+隨機產生的幾位數字。

那就可以這樣寫get方法了,get

8樓:姚慰

因為你定義的欄位是不希望「別人」看見的,所以設定為私有的,但是方法卻是可以公用的。此外,一般情況下只會對屬性設定可讀,限制為可寫的還真沒見過。這樣也是為了安全性考慮。

9樓:匿名使用者

1,篩選

2,增加安全性(讓其他程式不能訪問)

3.只讀可直接修改變數《類裡面》

4.養成良好的物件導向習慣

c中是什麼意思C中是什麼意思?

兩種bai意思 1 格式化字串輸出 du2 整數取餘 1 目zhi 前printf支援dao以下格式的輸專出,例如 printf c a 輸屬 出單個字元。printf d a 輸出十進位制整數。printf f a 輸出十進位制浮點數.printf o a 輸出八進位制數。printf s a 輸...

C中 是什麼意思,c 中 是什麼意思

是一種複合運算子,也是一種複合運算子。這裡用 解釋更好聽明白,比如a b,就是a a b,或者說是a a b b可以是任意運算式子,要是b c d,那麼a a c d 同理可得其它。form類裡面的事件 public event eventhandler closed 是註冊事件,也就是當close...

C中的 是什麼意思,C 中 int 是什麼意思?

可空型別修飾符 引用型別可以使用空引用表示一個不存在的值,而值型別通常不能表示為空。例如string str null 是正確的,int i null 編譯器就會報錯。為了使值型別也可為空,就可以使用可空型別,即用可空型別修飾符 來表示,表現形式為 t?例如 int?表示可空的整形,datetime...