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)
这篇博客介绍了 TypeScript 中的类的使用,包括如何定义带有 getter 和 setter 的私有可选属性,以及类的继承。示例展示了一个 Employee 类及其构造函数,接着创建了 Manager 类作为 Employee 的子类,并实现了添加报告人的功能。通过这些例子,展示了 TypeScript 类的封装和继承特性。
1442

被折叠的 条评论
为什么被折叠?



