2010-02-07 6 views
1

Я знаю, что класс singleton не поддерживается в Flex.Because он не имеет доступа к частному конструктору.singleton class in Flex

Но я хочу, чтобы класс был одноточечным классом. Пожалуйста, любой может объяснить на примере.

Спасибо, Ravi

ответ

2

одноплодное это класс, который будет создан только один экземпляр. Этот экземпляр будет использоваться всем другим кодом в программе.

Синтаксис в строгом смысле не поддерживается в ActionScript, потому что конструктор не может быть помечен private. Следовательно, дополнительные экземпляры класса могут быть созданы в другом месте программы. С помощью следующего трюка вы можете убедиться, что конструктор вызван только самим одиночным классом:

package { 

public final class Singleton { 

    private static var instance:Singleton = new Singleton(); 

    public function Singleton() { 
     if(Singleton.instance) { 
      throw new Error( 
       "Singleton and can only be accessed through Singleton.getInstance()"); 
     } 
    } 

    public static function getInstance():Singleton {       
     return Singleton.instance; 
    } 
} 
}