TypeScript学习总结(10)

class类的修饰符

一、可见性修饰符

类成员可见性:可以使用TS 来控制 class 的方法或属性对于 class 外的代码是否可见。
可见性修饰符包括:public(公有的),protected(受保护的),private(私有的)。

 1、public


public:表示公有的、公开的,公有成员可以被任何地方访问,默认可见性。

class Person {
    public move() {
        console.log("Moving")
    }
}
const person = new Person()
person.move()

 解释:

        在类属性或方法前面添加 public关键字,来修饰该属性或方法是共有的。
        因为 public 是默认可见性,所以,可以直接省略

  2、protected

 protected:表示受保护的仅对其声明所在类和子类中(非实例对象)可见

class Person {
    protected move() {
        console.log("Moving")
    }
    clean() {
        console.log("Cleaning")
        this.move()
    }
}
class Student extends Person {
    study() {
        console.log("Studying")
        this.move()
    }
}
const student = new Student()
student.study()
student.clean()

解释:
        在类属性或方法前面添加 protected 关键字,来修饰该属性或方法是受保护的。

        在子类的方法内部可以通过this来访问父类中受保护的成员,但是,对实例不可见! 

3、private

private:表示私有的,只在当前类中可见,对实例对象以及子类也是不可见的。 

class Person {
    private move() {
        console.log("Moving")
    }
}

解释 :
在类属性或方法前面添加 private 关键字,来修饰该属性或方法是私有的。
私有的属性或方法只在当前类中可见,对子类和实例对象也都是不可见的

 二、只读修饰符

除了可见性修饰符之外,还有一个常见修饰符就是:readonly(只读修饰符)

readonly:表示只读,用来防止在构造函数之外对属性进行赋值。 

class Person {
    readonly age: number
    constructor(age: number) {
        this.age = age
    }
}

 解释:

使用 readonly 关键字修饰该属性是只读的,注意只能修饰属性不能修饰方法。
注意:属性age后面的类型注解(比如,此处的number)如果不加,则age的类型为字面量类型。
接口或者{}表示的对象类型,也可以使用readonly

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值