TypeScript中访问修饰符

在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值