抽象类(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());