-
通过
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 } }