Показать сообщение отдельно
Старый 09.06.2014, 13:50
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 1  
Ответить с цитированием
inozemcev
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
По умолчанию Магия Enumiration (перечисления)

собственно, есть такой код

Код 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;
}
}