2010-12-16 15 views
5

Todo,Conversión explícita de constructores en ActionScript3

Me encontré con esta cosa graciosa en una publicación diferente. Se me indicó que puedes anular explícitamente un constructor ... lo que no parece necesario, y estoy un poco sorprendido de que compile. Echar un vistazo:

public class TestClass 
{ 
    public function TestClass() {} 
} 

public class TestClass2 extends TestClass 
{ 
    public override function TestClass2() {} 
} 

explícitamente llamando anulación en el constructor podría ser un no-op, ya que no es ciertamente necesario. Mi pregunta: ¿Hay alguna sutileza aquí que me falta? ¿Anular explícitamente al constructor le dice algo al compilador?

+0

interesante, no tenía ni idea. Sin embargo, a menos que haya alguna diferencia, esto se suma a la cantidad de caracteres escritos desafortunadamente. –

+0

@macke: ciertamente. Si hay una razón para usarlo, entonces lo consideraría en esos casos ... pero si no hay ningún beneficio, tampoco lo usaría. Solo confuso –

Respuesta

1

Creo que es sólo un poco de libertad que proporciona la sintaxis AS3 :)
código de bytes en mi humilde opinión de un SWF con contstructor overriden es igual a uno de SWF con uno normal

2
public class TestClass 
{ 
    public function TestClass() {} 
} 

public class TestClass2 extends TestClass 
{ 
    public override function TestClass2() { 
     super();//this makes call to the default constructor 
} 
+0

Pero no es necesario especificar la palabra clave de anulación. ¿Reemplaza especificar algo aquí? –

Cuestiones relacionadas