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类似
唯一不同的地方就是在子类内部可以访问