Inheritance 删除接口中的(专用)签名
是否可以在TypeScript中删除接口中继承的签名(专门化)Inheritance 删除接口中的(专用)签名,inheritance,typescript,Inheritance,Typescript,是否可以在TypeScript中删除接口中继承的签名(专门化) interface ComplexNumber { divideBy(b: number): ComplexNumber; } interface RealNumber extends ComplexNumber { delete divideBy(0); rationalize(): [number, number]; ... } 据我所知这是不可能的 但是,您可能会对可选参数/方法感兴趣。据我所知,您希望对一
interface ComplexNumber {
divideBy(b: number): ComplexNumber;
}
interface RealNumber extends ComplexNumber {
delete divideBy(0);
rationalize(): [number, number];
...
}
据我所知这是不可能的 但是,您可能会对可选参数/方法感兴趣。据我所知,您希望对一个类使用接口RealNumber,该类没有方法dividedBy的实现。如果这是真的,下一件事可能对你有用:
interface ComplexNumber {
divideBy?(b: number): ComplexNumber;
}
interface RealNumber extends ComplexNumber {
rationalize(): [number, number];
...
}
请注意方法名后的“?符号“divideBy”(这意味着此方法是可选的,类可能有此方法,但它们也可能没有此方法,因为它是可选的)。尽管它看起来像是一种方法-不是,请参阅此处的更多信息:嗯,true:)尽管它看起来很有用
delete divideBy()
不是有效的语法,但我发明它只是为了演示我想要实现的目标。@PeterVarga哦,对不起,忘了删除这一行。我的代码中的主要内容是一行:divideBy?(b:number):ComplexNumber代码>