1

as3でクラスコンストラクタをオーバーライドするにはどうすればよいですか?

public class Cargar{

public Cargar(){
}

public Cargar(sobrecargado:object){
}
}
4

1 に答える 1

5

Actionscript 3.0関数のオーバーロードをサポートしていません。関数でもあるためconstuctor、オーバーロードすることはできません。ただし、次のようなことができます。

public class Cargar{
    public Cargar(sobrecargado:Object=null):void{
         if(sobrecargado === null){
             initByEmptyObject();
         }else{
             initByObject(sobrecargado);
         }
    }
    //surrogate of `Cargar()` constructor
    private function initByEmptyObject():void{

    }
    //surrogate of `Cargar(sobrecargado:object)` constructor
    private function initByObject():void{

    }
}
于 2012-07-06T18:55:05.513 に答える