欄位與屬性的區別

2021-06-27 05:57:32 字數 760 閱讀 4050

「字段」是直接在類或結構中宣告的任何型別的變數。

欄位是其包含型別的「成員」。

屬性是這樣的成員:它提供靈活的機制來讀取、編寫或計算某個私有欄位的值。

可以像使用公共資料成員一樣使用屬性,但實際上它們是稱作「訪問器」的特殊方法。

這使得可以輕鬆訪問資料,此外還有助於提高方法的安全性和靈活性。

class timeperiod

set }}

class program

}// output: time in hours: 24

屬性這玩意兒跟字段最大的區別在於取值賦值的操作邏輯是不一樣的,對於字段,就是直接取值賦值,而對於屬性,你可以自定義取值賦值的操作。可以認為屬性是兩個方法(乙個取值乙個賦值)合併的,取值的方法是無引數、返回值為屬性型別的,賦值的方法是引數為屬性型別、無返回值的

另乙個差別在於字段只能是即能賦值又能取值,要麼即不能賦值也不能取值,而屬性更靈活,如果之後set就只能賦值了

**演示

int someintfield = 1;

int someintproperty

get

}上面這屬性的寫法可以看成是下面兩方法合併而成的:

void set_someintproperty(int value)

int get_someintproperty()

簡而言之,屬性有比字段更大的靈活性和可擴充套件性,但沒有字段輕量,如果預支某項未來不會有什麼變化且既要賦值又要取值,那麼欄位更省資源,其他情況下應屬性或方法

屬性與字段的區別

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

屬性與字段的區別

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

欄位與屬性的區別

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