> I have a superclass, let's say it's Dog. Then, I have some extensions of
> Dog, like so:
> Schnauzer extends Dog
> Poodle extends Dog
>
> In the Dog constructor, I want to prevent a Dog from being instanced
> directly, but when I include this line in the
> superclass constructor:
> throw new IllegalOperationError("Class must be instanced through one of Dog's
> subclasses.");
>
> ...all the base class instances throw the error. How best to prevent the
> superclass from being instanced on its own?
AS3 doesn't support abstract classes, only interfaces. You can either
use interfaces instead, or do this:
http://joshblog.net/2007/08/19/enforcing-abstract-classes-at-runtime-in-actionscript-3/
... which is basically what you're doing with a little modification.
You have to have something you can look at during instantiation of the
superclass that's only provided by the subclasses.
Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
Fig Leaf Software provides the highest caliber vendor-authorized
instruction at our training centers in Washington DC, Atlanta,
Chicago, Baltimore, Northern Virginia, or on-site at your location.
Visit http://training.figleaf.com/ for more information!
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders