ES2016中class属性

介绍private和protected的区别:

//
class Person{
    public name:string      
    private age:number
    protected gender:boolean
    constructor (name:string,age:number){
        //赋值
        this.name = name    
        this.age = age
        this.gender = true
    }
    
}

const lily = new Person('lily',16)
console.log(lily.name)
console.log(lily.age)             //不可访问
console.log(lily.gender)         //可访问

class Student extends Person{
    constructor (name:string,age:number){
        super(name,age)
        console.log(this.gender)    //可访问
        console.log(this.age)       //不可访问
    }
}

protected可在子类中访问到。

 

posted @ 2021-01-19 10:44  XG16  阅读(151)  评论(0编辑  收藏  举报