Цитата:
|
Сообщение от divinus
собств. вопрос... )
но вот встала потребность создать "одиночку" на AS3, а там как мне помнится запрещается объявления конструктора "приватным"... как быть? может быть кто-то сталкивался?
|
Можно воспользоваться статическим блоком инициализации - это гарантирует нам, что экземпляр нашего класса будет создан(в момент первого обращения к классу), а желание создать еще один экземпляр(как уже упоминалось) выкидыванием исключения, когда экземпляр уже создан.

Код:
package {
public class Singleton {
private static var _instance:Singleton;
//static block
{
_instance = new Singleton();
}
public function Singleton() {
if (_instance != null) {
throw new ArgumentError("bla-bla-bla");
}
}
public static function getInstance():Singleton {
return _instance;
}
}
}