C 屬性訪問器

2021-10-07 21:18:10 字數 699 閱讀 8480

屬性定義

public class a

public class b

set

}}

當我們例項化a時,系統在為例項化的物件分配記憶體空間時,會將name欄位的記憶體空間宣告為公有的。這意味著之後對name欄位的所有操作,都是直接操作記憶體空間中的name欄位;

當我們例項化b時,系統會先將name的記憶體空間宣告為私有,再為這個記憶體空間指定屬性name。之後對於name的所有操作,都需要通過對name這個物件進行間接地操作,以此達到對name欄位封裝的目的。

訪問器的訪問許可權

訪問器上可以包含可訪問修飾符,如下所示,我們將get訪問器設定為共有,將set訪問器設定為私有,這有助於控制屬性的設定方式。需要注意的是,在get和set訪問其中,必須有乙個具備著屬性的訪問級別。還是如下**,如果將get的訪問級別設定為protected,編譯器就會報錯,因為它們兩個都不具備屬性的public訪問級別。

private string name;

public string name

private set

}

屬性訪問器的用法

隱藏元件或類內部的真實成員。

用來建立約束,比如,實現唯讀或能寫這種約束。

用來響應屬性變化事件,當字段要產生變化時需要滿足某一條件才行,只需要將其寫在set方法即可。

屬性訪問器

synthesize result 表示建立該屬性的訪問器,這樣就可以直接訪問result屬性。在沒有新增屬性訪問器的時候,在main中這樣實現 myclass myclass myclass alloc init myclass setresult hello myclass shixian 新增...

C 基礎 屬性訪問器 (accessors)

屬性 property 是類 class 結構 structure 和介面 inte ce 的命名 named 成員。類或結構中的成員變數或方法稱為域 field 屬性 property 是域 field 的擴充套件,且可使用相同的語法來訪問。它們使用訪問器 accessors 讓私有域的值可被讀寫...

關於訪問器屬性

要修改屬性預設的特性,必須使用ecamscript 5的 object.defineproperty 方法。例如 var person object.defineproperty person,name console.log person.name tom person.name join con...