getter 和 setter

getter 和 setter 是表現得像屬性的方法。它意味著它們具有功能結構,但在使用時,它們與屬性相同:

吸氣功能的結構

他們應該在 function 關鍵字之後和函式名之前有 get 關鍵字,沒有引數,指定了返回型別,並且必須返回一個值:

public function get myValue():Type{
    //anything here
    return _desiredValue;
}

語法

要從 getter 獲取值,語法與從屬性獲取值相同(不使用 parens ())。

trace(myValue);

setter 函式的結構

他們應該在 function 關鍵字之後和函式名之前有 set 關鍵字,有一個引數,沒有值返回。

public function set myValue(value:Type):void{
    //anything here
    _desiredProperty=value;
}

語法

要設定 setter 的值,語法與將值設定為屬性相同(使用等號 = 然後使用值)。

myValue=desiredValue;

為一個值設定一個 getter 和 setter

注意:如果僅建立 getter 或僅建立具有名稱的 setter,則該屬性將是隻讀或僅設定。

要使屬性具有可讀性和可讀性,應建立一個 getter 和 setter:

同名
2.相同型別(getter 的返回值型別和 setter 的輸入值型別(引數),

注意:getter 和 setter 的名稱不應與其他屬性或方法相同。

使用 getter 和 setter:

使用 getter 和 setter 而不是普通的屬性有很多優點:

1. 製作只讀或僅設定屬性:
例如顯示物件中的子節點數。它不能是可以選擇的。

2. 訪問私有屬性:
一個例子:

private var _private:Type=new Type();
//note that function name "private" is not same as variable name "_private"  
public function get private():Type{
    return _private;
}

3. 在設定值後需要進行一些更改時:
在此示例中,必須通知更改此屬性:

public static function set val:(input:Type):void{
    _desiredProperty=input;
    notifyValueChanged();
}

和許多其他用法