TypeScript应用 极速上手(16)

1、类

注意:普通的 JOSN对象中也可以有getter和setter方法

class Employee {
   //默认为public
   // name:string
   // salary:number
   //可选参数不用初始化
    private allocatedBonus?:number
    //增加public,相当于定义了两个字段
    constructor(public name:string,public  salary:number){}

    //getter/setter
    //对使用者来说,相当于一个bonus字段
    set bonus(v:number){
        this.allocatedBonus  = v
    }

    get bonus(){
        return this.allocatedBonus || 0 //因allocatedBonus为可选字段
    }
}


//注意:普通的 JOSN对象中也可以有getter和setter方法
const  emp1 = new Employee('james',10000)
//掉用set方法
emp1.bonus  = 20000
//调用get方法
console.log(emp1.bonus)//20000 

2、类的继承

//类的继承
class Manager extends Employee {
    private reporters:Employee[]
    //此处无须public,否则成为Manager的自身属性
    constructor(name:string,salary:number){
        super(name,salary)
        this.reporters = []
    }
    addReporter(e:Employee){
        this.reporters.push(e)
    }
}

const  emp2 = new Employee('john',5000)
emp2.bonus = 10000
const manager = new Manager('mary',20000)
manager.addReporter(emp2)
manager.bonus = 50000
console.log(manager)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamCatcher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值