打字稿:扩展类和继承类型

时间:2021-03-11 11:04:20

标签: typescript class

我第一次使用 Classes 和 Typescript,但我无法理解如何为我的类分配类型,更重要的是如何告诉扩展它的类它的类型是什么继承的是。

考虑这个类:

interface ClassInterface {
  property: string; 
  method(): string;
}

export default class MyClass implements ClassInterface {
  property: string;
  
  constructor(value: string) {
    this.property = string;
  }

  method():string {
    return this.property;
  }
}

马上我就糊涂了,因为我发现的一切都告诉我我需要有一个接口,我还需要在类本身中定义类型。这是正确的方法吗?似乎有点反直觉。

然后我有另一个类来扩展我的第一个类:

export default class ExtendedClass extends MyClass {}

告诉 Typescript ExtendedClassMyClass 的类型完全相同的最佳方式是什么?我将如何进行递归,以便如果我有另一个扩展 ExtendedClass 的类,它可以自动继承 MyClassExtendedClass 的所有类型?

我已阅读 Typescript 文档,但找不到任何这些问题的答案,我们将不胜感激。

0 个答案:

没有答案