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

Ind*_*ing 1 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? 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*nol 6

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

public override function someFunc() {
    if (this.isWorking) {
        return true;
    } else {
        return super.someFunc(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

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