和public类似,protected 修饰符权限比public权限要严格一点,一旦属性和方法设置了protected权限,那么属性和方法只能在类本身和子类当中使用,不能在类之外使用。
class User {// protected 权限 受保护的权限protected name: string;protected age: number;constructor(name: string, age: number) {this.name = name;this.age = age;}protected info(): string {return `我的姓名是:${this.name},我的年纪是${this.age}`;}protected run() {return this.info();}}// Person extends Userclass Person extends User {constructor(name: string, age: number) {super(name, age);}demo() {// 调用父类中的方法 -- 父类中的方法 可以在子类中使用return this.run();}}const p1 = new Person('root', 30);console.log( p1.demo() );
父类User中的属性和方法权限都设置为了受保护的级别(protected),处于protected级别的属性和方法,只能在自己类本身使用和子类中使用,类的外部不能使用。

