Yes. So, you still have to check if whatever passed inside the constructor is what you are expecting and not null and throw an error if it is not right. But for most cases, this approach is still better than throwing only a run time error.
--- In [email protected], Maciek Sakrejda <[EMAIL PROTECTED]> wrote: > > Determined users can still pass null to the constructor, no? We're > currently throwing an exception if the singleton exists and its > constructor is invoked, but I suppose this approach is a little cleaner. > -- > Maciek Sakrejda > Truviso, Inc. > http://www.truviso.com > > -----Original Message----- > From: m.ar80 <[EMAIL PROTECTED]> > Reply-To: [email protected] > To: [email protected] > Subject: [flexcoders] Re: private constructor in action script > Date: Thu, 07 Feb 2008 05:41:03 -0000 > > As of now, it is not possible to declare a constructor private (other > than public) in ActionScript 3.0. However, as pointed out, it is > possible to achieve the required behavior by using a dummy private > class defined outside the package so that no one has access to it > outside the file. Passing a dummy instance of this class to the > constructor of the singleton class should prevent other users from > instantiating the singleton class. Here is a code snippet illustrating > the concept: > > package > { > class Singleton > { > private static var theOneAndOnlyInstance:Singleton; > > public function Singleton(dummy:DummyPrivateClass) > { > super(); > } > > public static function getInstance():Singleton > { > if(theOneAndOnlyInstance == null) > { > theOneAndOnlyInstance = new Singleton(new DummyPrivateClass()); > } > return theOneAndOnlyInstance; > } > } > } > > class DummyPrivateClass > { > public function DummyPrivateClass() { super(); } > } > > HTH. >

