TypeScript访问修饰符
ts支持以下访问修饰符:
public:所有定义成public的属性和方法都可以在任何地方进行访问。
class Animal {
public age:number=10;
public run() {
console.log("这是一个跑的方法")
}
}
class Dog extends Animal{
}
let dog:Dog=new Dog()
dog.run() //继承过来的方法
dog.age=99; //继承过来的属性
console.log(dog.age)
private:所有定义成private的属性和方法都只能在类定义内部进行访问。
class Animal {
private age:number=10;
private run() {
console.log("这是一个跑的方法")
}
}
class Dog extends Animal{
}
let dog:Dog=new Dog()
//dog.run() //属性“run”为私有属性,只能在类“Animal”中访问
//dog.age=99; //属性“age”为私有属性,只能在类“Animal”中访问
protected:多有定义成protected的属性和方法可以从类定义内部访问,也可以从子类中访问。
class Animal {
protected run() {
console.log("这是一个跑的方法")
}
}
class Dog extends Animal{
constructor(){
super()
super.run()
}
}
let dog:Dog=new Dog()
// dog.run() //属性“run”受保护,只能在类“Animal”及其子类中访问
readonly
关键字将属性设置为只读的
class Animal {
readonly age:number=10;
}
class Dog extends Animal{
}
let dog:Dog=new Dog()
//dog.age=99; //只读属性不可以修改 :Cannot assign to 'age' because it is a read-only property
来源:CSDN
作者:qindayong!
链接:https://blog.csdn.net/weixin_44036436/article/details/103816897