先說欄位,英文是field,大陸用語叫字段

它的宣告很像一般的變數宣告,但會加上存取控制元,例子如下

一般變數

string name;

欄位宣告

public string name;

private int number;

欄位只是對一個變數的宣告,沒有其他的操作,最多只是加上readonly.

記得欄位宣告時不能使用virtual,abstract,sealed,override等修飾詞,避免影響繼承.

而屬性則可以提供對變數的讀寫限制或邏輯判斷乃至於變數修改

而常見的應用,會將欄位設定為private,再由屬性來控制欄位的存取,例子如下

class Employee
{
    private string _firstName;
    private string _lastName;

    public string firstName
    {
        get
        {
            return _firstName;
        }
        set
        {
            _firstName = value;
        }
    }        
}

黃色為欄位,綠色為屬性

arrow
arrow

    痞客興 發表在 痞客邦 留言(0) 人氣()