你能调用一个在 Haxe 中被覆盖的父方法吗?

Can you call a parent method that has been overridden in Haxe?

Haxe 允许子构造函数 类 使用 super() 调用父构造函数,但在构造函数方法之外绑定使用 super() 会触发错误。如果该方法已被覆盖,子项是否可以调用父项的方法?

草草写的例子:

class Parent {
    var thing:Bool;

    public function someFunc(){
        if(this.thing){
           return "TRUE!";
        } else {
           return "FALSE!";
        }
    }
}

class Child extends Parent {

    var thing2:Bool;

    public override function someFunc() {
        if(this.thing2){
            return "TRUE!";
        } else {
            return someFunc(); //call to parent function? 
        }
    }
}

super.someFunc() 在 Child 中就是你想要的。

(super()总是表示父class'构造函数,只能从子构造函数中调用)

是的,可以使用 super 关键字。

public override function someFunc() {
    if (this.isWorking) {
        return true;
    } else {
        return super.someFunc(); 
    }
}

http://haxe.org/manual/types-class-inheritance.html