是否可以在TypeScript?
中删除接口中的继承签名(特化)interface ComplexNumber {
divideBy(b: number): ComplexNumber;
}
interface RealNumber extends ComplexNumber {
delete divideBy(0);
rationalize(): [number, number];
...
}
答案 0 :(得分:0)
据我所知,这是不可能的。
但是,您可能会对可选参数/方法感兴趣。据我所知,您希望将接口 RealNumber 用于没有 divideBy 方法实现的类。如果这是真的,那么下一件事可能对你有用:
interface ComplexNumber {
divideBy?(b: number): ComplexNumber;
}
interface RealNumber extends ComplexNumber {
rationalize(): [number, number];
...
}
请注意方法名称 divideBy 之后的?符号(这意味着,此方法是可选的,类可能有此方法,但也他们可能没有它,因为它是一种可选方法。)