小编Sta*_*e26的帖子

使用多级继承扩展基类方法(typescript)

我有3个班:

class A{
    DoStuff(){
        return "Called from A";
    }
}

class B extends A {

    constructor(){
        super();
        var baseDoStuff = super.DoStuff;
        this.DoStuff = function(){
            return baseDoStuff() + " and Called from B";
        }
    }
}

class C extends B { 
    constructor(){
        super();
        var baseDoStufffff = super.DoStuff;
        this.DoStuff = function(){
            return baseDoStufffff() + " and Called from C";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我期望C级的DoStuff()调用B的DoStuff()(它反过来会调用A的).

但是,在C上调用DoStuff()只返回"从A调用并从C调用".我在这做错了什么?这不应该叫B的方法吗?

这方面的一个工作示例可以在这里找到:

typescript

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

typescript ×1