打字稿中的一个重载方法如何?

时间:2014-12-03 12:41:03

标签: typescript

如何在类型化脚本中重载方法。给定以下代码,我有一个实现接口的类。该界面具有多态性'方法,但我似乎无法实现它们 - 得到错误"重复识别器' MyMethod'"。

export class IService {

   MyMethod(): string;
   MyMethod(value: string): number;

}

export class MyService implements IService {

   MyMethod(): string { return "hello world;" } 
   MyMethod(value: string): number { return 1; }     

}

1 个答案:

答案 0 :(得分:1)

好的,我已经设法解决了这个问题,你这样做了,(请注意,MyMethod的实际实现涵盖了所有输入和返回类型):

export class IService {

   MyMethod(): string;
   MyMethod(value: string): number;

}

export class MyService implements IService {

   MyMethod(): string;
   MyMethod(value: string): number;
   MyMethod(value: string = ""): any { if(value != "") return 1 else return "hello world"; }     

}