如何实现接口过载

时间:2014-02-18 19:41:29

标签: typescript

Anders给出了这个接口重载的例子,但我不明白它是如何实现和使用的:

interface Fooable
{
   Foo(n:number) : string;
   Foo(s:string) : string;
}

有人能给我一个实现和使用它的例子吗?

1 个答案:

答案 0 :(得分:3)

class Bar implements Fooable {
    Foo(n: number): string; 
    Foo(n: string): string; 
    Foo(n: any) {
        if(typeof n === 'number') {
            return n + ' is a number';
        } else if(typeof n === 'string') {
            return n + ' is a string';
        } else {
            throw new Error("Oops, null/undefined?");           
        }
    }
}