抽象类(Abstract Class)是 TypeScript 中一种特殊的类,它不能直接实例化,只能被继承。抽象类用于定义一些共同的属性和方法,但又不能完整地实例化的类,它可以作为其他类的基类,通过继承来共享属性和方法。abstract
定义抽象类;abstract
定义的方法,都只能描述,没有实际的实现,需要在子类中进行实现。
抽象类的特点:
- 抽象类不能被实例化。
- 抽象类可以包含抽象方法和非抽象方法。抽象方法只有方法签名,没有实际的实现,需要在子类中进行实现。非抽象方法可以有实际的实现,子类可以直接继承或覆盖它。
- 任何包含抽象方法的类都必须声明为抽象类。
- 子类继承抽象类时,必须实现父类中的抽象方法。
abstract class Vue {name: stringconstructor(name?: string) {this.name = name}getName(): string {return this.name}abstract init(name: string): void
}class React extends Vue {constructor() {super()}init(name: string) {}setName(name: string): void {this.name = name}
}const react = new React()
react.setName('react')
console.log(react.getName());