typeScript(6)-面向对象编程-修饰符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30109365/article/details/82857039

访问修饰符

TypeScript语言和Java很像(因为我只会这一门个面向对象的语言(c#没好好学)),类中属性的访问可以用访问修饰符来进行限制。访问修饰符分为:public、protected、private。

  • public:公有修饰符,可以在类内或者类外使用public修饰的属性或者行为,默认修饰符。
  • protected:受保护的修饰符,可以本类和子类中使用protected修饰的属性和行为。
  • private : 私有修饰符,只可以在类内使用private修饰的属性和行为。

我们还是写一个类,用一些访问修饰符来修饰。

class DaoShan1{
    public sex:string
    protected name : string
    private age : number
    public constructor(sex:string,name:string,age:number){
        this.sex = sex
        this.name = name
        this.age = age
    }
    public sayh(){
        console.log("你好!")
    }
    protected saylove(){
        console.log("我爱你!")
    }
}

var jj:DaoShan1 = new DaoShan1("女","热巴",18)

console.log(jj.sex)
console.log(jj.name)      //报错     属性“name”受保护,只能在类“DaoShan1”及其子类中访问
console.log(jj.age)       //报错    属性“age”为私有属性,只能在类“DaoShan1”中访问
console.log(jj.sayh)
console.log(jj.saylove)      //报错      属性“saylove”受保护,只能在类“DaoShan1”及其子类中访问

只读属性修饰符

使用readonly修饰符将属性设置为只读,只读属性必须在生命时或者构造函数里被初始化(注意)。

我们声明一个man的抽象类,里边只有一个属性sex,并且是只读。

class Man{
    public readonly sex:string = '男'
}
var man:Man = new Man()
man.sex='女'                 //报错     无法分配到“sex”,因为它是常数或只读属性

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30109365/article/details/82857039