собственно, есть такой код
Код AS3:
package
{
/**
* Пример реализации паттерна TypeSave Enumeration на языке ActionScript 3.
*
* @author Aleh Krutsikau
* @version 0.1
*/
public class Season
{
// Ссылка на единственный экземпляр класса.
public static const WINTER : Season = new Season("winter");
public static const SPRING : Season = new Season("spring");
public static const SUMMER : Season = new Season("summer");
public static const AUTUMN : Season = new Season("autumn");
private static var _enumCreated:Boolean = false;
// magic happens here, the static code block
{
_enumCreated = true;
}
private var _seasonName : String;
/**
* Конструктор.
*/
public function Season(seasonName : String)
{
if (_enumCreated)
throw new Error("The enum is already created.");
_seasonName = seasonName;
}
public function get seasonName() : String {
return _seasonName;
}
}
}
не могу понять как работает магия. А именно в каком случае работает код спрятанный в фигурных скобках в теле класса
Код AS3:
public class Season
{
{
_enumCreated = true;
}
}