1.之前创建类就有一个问题:属性是在对象中设置的,因此属性可以任意的被修改(埋下安全隐患)
    属性可以任意被修改将会导致对象中的数据变得非常不安群
    image.png
    2.怎么办?在类里面属性名前面添加修饰符:public(默认)、private、
    image.pngimage.png
    public:可以在任意位置放问(或)修改,包括子类
    private:私有属性,只能在类内部进行放问或修改
    image.png//报错,但仍然在编译后会修改,应该设置noEmitOnError:image.png
    3. private不能被外部访问也不行,怎么办?getter、setter(属性存储器)
    通过在类当中添加方法使得私有属性可以被外部访问,间接访问(get、set方法)
    image.pngimage.png
    虽然麻烦,这样在外部也能修改访问,但是现在修改只能通过get、set方法修改、属性的访问权在我手中,我如果不想让他修改,把set方法去掉就行了
    image.png//还可以设置属性修改的条件,降低出错率
    4.在TS中设置getter、setter方法的方式
    image.png//不用再per.getname()这样获取属性
    而是直接per.name,这时候不是直接去访问类中的name属性,而是去调用上面截图的get name方法
    这样就不会改变使用习惯,set也是一样:per.name=”要修改的值”这样直接修改
    image.pngimage.png

    5.父类的私有属性,在子类中无法访问,怎么办?protected
    image.png//报错
    这时候可以换个修饰符:protected:受保护的属性,只能在当前类和当前类的子类中访问,但是在实例中无法访问

    6.特殊语法:直接将属性定义在构造函数中,属性声明、类型都不用另外写了。属性赋值自动完成
    image.png等价于image.png