ts中类里面的修饰符
dearweb 发布:2021-07-25 12:10:38阅读:ts中类里面的修饰符,typescript中定义属性的时候给我们提供了三种修饰符,属性如果不加修饰符默认就是公有public
public 公有 在类里面、子类里面、类外面都可以访问
class Person{ public name:string; // 公有属性 // 构造函数 实例化类的时候触发的方法 constructor(name:string){ this.name = name; } run():string{ return `${this.name}在运动` } } // Web 继承Person类 class Web extends Person{ constructor(name:string){ super(name) } } let W = new Web('知了') console.log(W.run()) //知了在运动 //外部访问 let P = new Person('武汉') console.log(P.name) // 武汉
protected 保护类型 在类里面、子类里面可以访问,在类外面没法访问
// 保护类型(类外部没法访问) class Person{ protected name:string; // 保护类型 // 构造函数 实例化类的时候触发的方法 constructor(name:string){ this.name = name; } run():string{ return `${this.name}在运动` } } // Web 继承Person类 class Web extends Person{ constructor(name:string){ super(name) } } let W = new Web('知了') console.log(W.run()) //知了在运动 let P = new Person('武汉') console.log(P.name) // 警告 index.ts:130:19 - error TS2445: Property 'name' is protected and only accessible within class 'Person' and its subclasses.
private 私有 在类里面可以访问,子类、类外面都没法访问
class Person{ private name:string; // 保护类型 // 构造函数 实例化类的时候触发的方法 constructor(name:string){ this.name = name; } run():string{ return `${this.name}在运动` } } // Web 继承Person类 class Web extends Person{ constructor(name:string){ super(name) } } let W = new Web('知了') console.log(W.run()) //知了在运动 let P = new Person('武汉') console.log(P.name) // 警告 index.ts:130:19 - error TS2445: Property 'name' is protected and only accessible within class 'Person' and its subclasses.
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧