如何在继承的类中将继承的方法设为私有

时间:2019-07-04 18:30:53

标签: typescript inheritance private-methods

我想在 Typescript

的扩展类之外将继承的方法设为私有

假设我有两个这样的课程:

class BaseClass{
    constructor(){}

    sayHello(){
        console.log('hello');
    }
}

class Class extends BaseClass{
    constructor(){
        super();
    }

    private sayHello(){  //I don't want to have to do this every time
        super.sayHello(); 
    }
}

let obj = new Class();
obj.sayHello();

我需要在“类”内部访问方法sayHello(),但不应从外部访问。我不想每次继承都覆盖它。

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找protected访问修饰符。受保护的成员可从派生类访问,但不能从类外部访问

class BaseClass{
    constructor(){}

    protected sayHello(){
        console.log('hello');
    }
}

class Class extends BaseClass{
    constructor(){
        super()
        this.sayHello() // ok
    }
}

let obj = new Class();
obj.sayHello(); //err

答案 1 :(得分:1)

关键字drupal_goto()使该方法仅可用于扩展类,而不能用于外部。

protected
相关问题