Oop 为什么要调用超类重写的方法?

Oop 为什么要调用超类重写的方法?,oop,haxe,nme,Oop,Haxe,Nme,我重写了一个超类中的ini方法,但奇怪的是,超类中的ini方法仍然被调用,尽管我没有使用super调用它 有什么想法吗?这是haxe 3中的问题吗? p、 s:这是一个OpenFL项目,目标是flash class superClass{ function ini():Void { // this line should not be reached, but, it is reached .. ! } } class subClass extends superClass{

我重写了一个超类中的ini方法,但奇怪的是,超类中的ini方法仍然被调用,尽管我没有使用super调用它

有什么想法吗?这是haxe 3中的问题吗? p、 s:这是一个OpenFL项目,目标是flash

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();      
    }
}

嗯,你的真实代码有问题。我做了一个测试项目,一切正常。 这是一个测试Main.hx-

这是一个屏幕截图:
嗯,你的真实代码有问题。我做了一个测试项目,一切正常。 这是一个测试Main.hx-

这是一个屏幕截图:

ini()方法有什么特别之处吗?它被称为反射还是类似的东西?您还没有显示调用代码,也没有显示调用了superClass.ini()的测试用例,所以。。。这很难帮助我通常从超类构造函数调用ini,对于一些子类,我需要通过重写超类ini方法而不是调用它来剪切超类ini方法,我没有使用反射或任何东西。。请你做一个小测试,它能在你身边工作吗?你编辑的代码仍然不能编译。。。所以你显然还没有向我们展示全部情况。我修复了错误,添加了跟踪,它按预期运行:谢谢Jason,我一直忙于基于OpenFL的项目,非常感谢您的支持,谢谢ini()方法有什么特别之处吗?它被称为反射还是类似的东西?您还没有显示调用代码,也没有显示调用了superClass.ini()的测试用例,所以。。。这很难帮助我通常从超类构造函数调用ini,对于一些子类,我需要通过重写超类ini方法而不是调用它来剪切超类ini方法,我没有使用反射或任何东西。。请你做一个小测试,它能在你身边工作吗?你编辑的代码仍然不能编译。。。所以你显然还没有向我们展示全部情况。我修复了错误,添加了跟踪,它按预期运行:谢谢Jason,我一直在忙于基于OpenFL的项目,非常感谢您的支持,谢谢请提交显示问题的最小测试项目。所以我们试着测试它。@simo有些东西你仍然没有向我们展示,即使你编辑的代码没有编译。我做了一些编辑,让它编译,它的所有工作如预期:请提交您的最小测试项目,显示一个问题。所以我们试着测试它。@simo有些东西你仍然没有向我们展示,即使你编辑的代码没有编译。我对其进行了一些编辑,以使其能够编译,并且一切正常: