欄位與屬性的區別

2021-09-07 23:07:29 字數 699 閱讀 2698

可以理解為欄位是類內部用的,屬性是類外部用的

下面是個c#寫的例子,這個例子作用是可以通過屬性獲取時間值,但是只能通過settime()方法設定時間值,我想這也是為什麼要分字段和屬性的一大原因吧。

首先宣告的是private型別的變數(字段)hours,通常字段寫法都是加個"_"符號,然後宣告唯讀屬性hours

在 類內部可以通過變數(字段)對其進行讀寫,在類外部不能訪問變數(字段),只能訪問屬性。而且在此例內如果想修改時間值,只能通過呼叫settime() 方法往裡傳值(因為這裡的各屬性只有get沒有set,只在類內部的settime()方法中對其對應字段進行賦值操作),而不能通過類例項物件 timetest1的 timetest1.hours=12 這樣進行賦值。

public class timetest

} private int _minutes;

public int minutes}

//可以不加"private",c#中類成員預設都是private型別的

int _seconds;

public int seconds}

public void settime(inthours, int minutes, int seconds)}

欄位與屬性的區別

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

屬性與字段的區別

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

屬性與字段的區別

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