TypeScript从入门到精通(十四)类的只读属性和抽象类

类的只读属性 readonly

先新建一个类实例化并赋值

class Person {
    constructor(public name:string){}
}
let person = new Person("小哈")
person.name= "小哈二号"
console.log(person.name)
//打印结果:小哈二号

我们可以得出类的属性name的值(小哈)被赋为小哈二号

如果在实例化对象时赋予的名字,以后不能再更改了,也就是我们常说的只读属性

class Person{
    public readonly _name:string
    constructor(name:string){
        this._name=name
    }
 }
 let person = new Person("小哈")
 //person._name="小嘻" //报错 无法分配到 "name" ,因为它是只读属性

这样通过实例化person._name="小嘻" 赋值是会报错的,此时的_name是只读属性,不能改变

抽象类abstract:

什么是抽象类,比如我开了一个一家科技公司,里边有前端工程师,有后端工程师(Java),有UI设计,每一个岗位我都写成一个类,那代码就是这样的

class frontEnd{}

class Java{}

class UI {}

每个岗位都要各司其职,那我们可以写一个抽象类
抽象类的关键词是abstract,里边的抽象方法也是abstract开头的,现在我们就写一个Boy的抽象类。

abstract class Boy{
    abstract skill() //因为没有具体的方法,所以这里不写{}括号
}
class FrontEnd extends Boy{
    skill(){
        console.log("我是做前端开发的")
    }
}
class Java extends Boy{
    skill(){
        console.log("我是搞Java开发的")
    }
}
class UI extends Boy{
    skill(){
        console.log("我是搞UI设计的")
    }
}

const frontEnd=new FrontEnd()
const java = new Java()
const ui = new UI()
console.log(frontEnd.skill(),java.skill(),ui.skill())
//我是做前端开发的 我是搞Java开发的 我是搞UI设计的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值