- 通过
abstract
关键字来定义一个抽象类
或抽象方法/抽象属性
。 抽象类
不能被直接实例化,只能被子类继承。抽象方法
不能去有具体实现,但是继承的子类必须实现。abstract
还可以修饰属性和存取器(get、set)。- 案例
// 抽象类 abstract class Person { // 名称 name: string // 抽象属性 - 年纪 abstract age: number // 构造 constructor(name: string) {} // 获取名称1 getName(){} // 抽象方法 - 获取名称2 abstract getName2(): void // 抽象方法 - 获取名称3 abstract get name3(): string // 设置名称 set name4(val) { this.name = val } } // 定义一个类,继承抽象类 class Person1 extends Person { // 实现抽象类中的属性 age: number // 实现抽象类中的函数 getName2(): void { console.log(this.name) } get name3(): string { return this.name } }