나는이 인터페이스가 ..함수 인터페이스 및 클래스에서 오버로딩 - 방법?
interface IPoint {
getDist(): string;
getDist(x: number): any;
}
을하고 나는 그것을 구현하는 클래스가 필요하지만이 클래스의 getDist() 메소드 을 구현 할 수있는 권리 구문을 얻을 수
class Point implements IPoint {
// Constructor
constructor (public x: number, public y: number) { }
pointMethod() { }
getDist() {
Math.sqrt(this.x * this.x + this.y * this.y);
}
// Static member
static origin = new Point(0, 0);
}
는 말한다 : 유형 '포인트'의 재산 유형 'getDist'
클래스 '포인트'를 인터페이스 'IPoint'을 선언하지만, 구현하지 않습니다 및 'IPoint'는 호환되지 않습니다. '() => void'및 '{() : string; (x : number) : 모두; } '은 (는) 호환되지 않습니다.
이 작업을 수행하는 올바른 방법은 무엇입니까?
감사
. 그것도없이 작동 –
@ S.RaviKiran 오버로드 된 함수에서 구현을 호출 할 수 없으므로 두 가지 오버로드 선언이 필요합니다. TypeScript 놀이터에서 이것을 시험해 볼 수 있습니다. http://www.typescriptlang.org/Playground/ – Fenton
시도해 보니 –