Как сказал spash, этот синтаксис используется для пространств имен. В этом случае это фактически используется, чтобы обойти проблему компилятора. Дело в том, что вы не можете объявить метод доступа, в котором метод получения имеет область действия, отличную от метода установки. То есть вы можете объявить его, но доступ к аксессору по его имени приведет к ошибке компиляции.
Обратите внимание на следующее:
private var _name:String;
[Bindable(event="nameChange")]
public function get name():String {
return _name;
}
private function set name(value:String):void {
if (value !== _name) {
_name = value;
dispatchEvent(new Event("nameChange"));
}
}
Если вы сейчас попытаетесь получить доступ к свойству «name», чтобы получить или установить его, это приведет к ошибке компиляции:
name = "John Doe";
Однако, если вы укажете область действия, код скомпилируется.
private::name = "John Doe";