When I extend a class I want to override methods and change their accessibility like a protected method should be public in a certain class. When I compile it says: “Incompatible override”. I can’t reduce nor can I increase the visibility.
Reducing wouldn’t make sense and I don’t need it but I was able to increase method visibility in Java. Why not in ActionScript 3 ?
public class OldClass
{
protected function doStuff() : void
{}
}
public class NewClass extends OldClass
{
override public function doStuff() : void
{}
}
Am I doing something wrong ?
No, you’re not doing anything wrong. That’s just how the language works. From the documentation (emphasis added):