This is far from ideal but after chatting with Ted this is all we could come up with.
Again because in AS 3.0 all constructors have to be public, it is not possible to create a class that can only be extended without a bit of extra work. If I create a class that should only be extended, then I want it to throw and error if it has been used incorrectly.
public class Abstract
public function Abstract()
if( toString() == “[object Abstract]” ) throw( new Error( “Abstract must be extended” ) );
The reason this is far from ideal is that it requires you to hard code the name of your class as the string comparison. If anyone has any other bright ideas I would appreciate it.