我想让我的Class B扩展一个Class A。这和预期的一样,但是现在我需要在Class B中覆盖Class A的一个属性。具体来说,我必须使类A的属性对于类B是可选的:
export class B extends A { // This property is available in Class A @Prop({ required: false, index: true }) @ApiProperty() propertyToOverride: number; }
esbemjvw1#
我在NestJS的Discord中问过这个问题,这是我从主持人Scott那里得到的答案 (Scott(EN-DE)#0052):prop属性没有覆盖。而且,模式定义的传统继承也不起作用,即覆盖。如果你从一个模式类扩展,你只能在你的新类中添加额外的字段。所以,它是一个可重用的工具,而不是多态工具。如果你需要多态,那么你需要看一下鉴别器。所以不幸的是,目前似乎没有办法用继承来做到这一点:(
1条答案
按热度按时间esbemjvw1#
我在NestJS的Discord中问过这个问题,这是我从主持人Scott那里得到的答案 (Scott(EN-DE)#0052):
prop属性没有覆盖。而且,模式定义的传统继承也不起作用,即覆盖。如果你从一个模式类扩展,你只能在你的新类中添加额外的字段。所以,它是一个可重用的工具,而不是多态工具。如果你需要多态,那么你需要看一下鉴别器。
所以不幸的是,目前似乎没有办法用继承来做到这一点:(