0

スーパークラスでメソッドiniをオーバーライドしていますが、不思議なことに、スーパーを使用して呼び出していないのに、スーパークラスのiniメソッドがまだ呼び出されています

何か案が?これはhaxe 3の問題ですか?ps: フラッシュをターゲットとする OpenFL プロジェクトです。

class superClass{
 function ini():Void 
 {
   // this line should not be reached, but, it is reached .. !
 }
}

class subClass extends superClass{
 override function ini():Void 
 {
   // I Am not calling super ini here ..
 }
}

編集

これが私のコードの要約です。ここで、私のクラスセットを確認できます。

class EComponent extends Sprite
{

}

class Component extends EComponent
{

    public function new(aBoard:Board) 
    {
        ini();
    }
    function ini():Void 
    {
    // I am checking this manually, 
    // because ini is called even though its BeziereWire instance!
        if (Std.is(this, BeziereWire))
        return;
    }

    function iniRotators():Void 
    {

    }
}

class BeziereWire extends Component
{
    override function ini():Void 
    {
        iniRotators();      
    }
}
4

1 に答える 1

3

うーん、実際のコードに何か問題があります。私はテストプロジェクトを作成し、すべて正常に動作します。これは Main.hx のテストです - https://gist.github.com/sergey-miryanov/6658172

そして、これはスクリーンショットです: そしてこれがスクリーンショット

于 2013-09-22T09:08:13.773 に答える