在Typescript中使用父类的方法类型

时间:2017-06-20 07:17:47

标签: class typescript inheritance

我注意到当你扩展一个类时类型没有流过,我想知道是否有一种方法可以在类型定义中强制执行它?这是一些伪代码:

class A {
  render(props: Object) {

  }
}

class B extends A {
  render(props) { <- right now its an any type, I'd like it to inherit from A

  } 
}

我希望有这样的事情:

class A {
  render(props: Object) {

  }
}

class B extends A {
  render(props: this.props) {

  } 
}

干杯!

1 个答案:

答案 0 :(得分:2)

您必须再次重新定义该方法的类型。但是,如果你定义一个比基类松散的那个,你将会收到错误。

这有效:

class A {
  render(props: string) {

  }
}

class B extends A {
    render(props: string) {

  } 
}

这不是:

class A {
  render(props: string) {

  }
}

class B extends A {
    render(props: number) {

  } 
}