C# get和set

我在學習中遇到了這樣的一個現象:
當我按照系統的提示改錯的時候,系統自動爲我生產了一個泛型,並加了get和set,不明所以,如下:

public List<BaseType.Vector3d> listPoints2 { get; set; } //系統自定義

查詢網絡如下:
get是可讀;
set是可寫;
舉兩個例子:

public class person
{
    public string name;//直接將該關鍵字暴露給其他的類了
}
public class person
{
    public string Name{set;get;}//通過get,set進行了封裝,相當於如下代碼
}

相當:

private string name;
public class preson
{
    get { return name; }
    set { name = value; }
}

從內存來說:
當實例化第一個person類時,系統在分配內存空間時對name屬性直接分配內存,之後對name屬性的操作也是直接操作內存中name屬性所在的這個塊;
而當實例化第二個person類時,系統會先分配一個叫name的私有的內存空間,之後的讀寫操作都是通過Name這個public的類似於指針的東西來關聯name進行,以此達到封裝的目的。
當然,他們還有其他的好處,這裏還沒弄明白,希望指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章