【TypeScript】抽象类(基类)

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

你可能感兴趣的:(TypeScript,typescript,javascript,前端)