I know that the prototype syntax is available in as2, but I think it was removed in as3. I agree that the prototype syntax is more elegant, but I really believe Adobe was trying to appeal to Java and .NET developers.
Wrong. I was curious so i tested it (i've been experimenting with Flex 2). The following code outputs "blah blah":
var foo:Function = function() {}
foo.prototype.someMethod = function() { trace("blah blah"); }
new foo().someMethod();
I think the prototype syntax was kept to maintain backwards compatibility.
class foo {
public function someMethod() { trace("blah blah"); }
}new foo().someMethod();
just different approaches to the same problem