Мы обычно используем для этого свойства.
Свойства аналогичны общедоступным переменным для внешних - вы можете установить instance.enabled = true;
и т. Д. Но вы определяете свойства как функции получения и / или установки для класса.
Это идеальное место для выполнения пользовательской логики при изменении значения.
Например:
public class CustomClass {
private var _enabled:Boolean = false;
public function set enabled(value:Boolean):void {
trace('CustomClass.enabled is now', value);
this._enabled = value;
}
public function get enabled():Boolean {
trace('CustomClass.enabled was retrieved');
return this._enabled;
}
}
Обратите внимание, что они не могут иметь то же имя, что и ваша личная переменнаяи вам не нужно, чтобы они оба были определены.На самом деле, вам даже не нужна переменная для установщика / получателя.Вы можете использовать их так же, как любую функцию - они просто предоставляют вам другой синтаксис.
Например:
var object:CustomClass = new CustomClass();
object.enabled = false;
if (object.enabled) {
...
}
Они отлично подходят для предоставления простого API, удерживая вас от перезаписи внешнего кода, есливнутренние компоненты класса должны измениться.
AS3 Ссылка на геттеры и сеттеры .