1、private
private修饰的变量是私有变量,只能在类内部进行访问,不能在类外部访问
| 本类(内部) | 本类(外部) | 子类(内部) |
|---|---|---|
| true | false | false |
class Bar {private name: string;constructor(name:string){this.name = name;}getName(){console.log(this.name)}}var bar:Bar = new Bar("王五");bar.getName()// console.log(bar.name)❌ 因为private声明的变量不能在类外部访问
在子类中访问,报错
class Bar {private name: string;constructor(name:string){this.name = name;}getName(){console.log(this.name)}}class Foo extends Bar{getName(): void {console.log(this.name) //❌}}var foo:Foo = new Foo("王五");
2、protected的作用和private类似
唯一不同的地方就是在子类内部可以访问
