抽象类(Abstract Class)是 TypeScript 中一种特殊的类,它不能直接实例化,只能被继承。抽象类用于定义一些共同的属性和方法,但又不能完整地实例化的类,它可以作为其他类的基类,通过继承来共享属性和方法。abstract
定义抽象类;abstract
定义的方法,都只能描述,没有实际的实现,需要在子类中进行实现。
抽象类的特点:
- 抽象类不能被实例化。
- 抽象类可以包含抽象方法和非抽象方法。抽象方法只有方法签名,没有实际的实现,需要在子类中进行实现。非抽象方法可以有实际的实现,子类可以直接继承或覆盖它。
- 任何包含抽象方法的类都必须声明为抽象类。
- 子类继承抽象类时,必须实现父类中的抽象方法。
abstract class Vue {
name: string
constructor(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());