Javascript TypeScript:实现接口时是否需要参数类型?
假设我有以下接口Javascript TypeScript:实现接口时是否需要参数类型?,javascript,typescript,Javascript,Typescript,假设我有以下接口IFace,以及接口Add的实现: interface IFace { add(a: number, b:number): number } class Add implements IFace { add(a,b) } 在我的add类中实现add()方法时,是否可以不指定: 方法的返回类型 参数的类型是a和b 我尝试搜索堆栈溢出和internet未找到任何相关信息。必须在AddclassesAdd()函数的方法签名中指定每个参数的类型。但是,您的Add类Ad
IFace
,以及接口Add
的实现:
interface IFace {
add(a: number, b:number): number
}
class Add implements IFace {
add(a,b)
}
在我的add
类中实现add()
方法时,是否可以不指定:
a
和b
我尝试搜索堆栈溢出和internet未找到任何相关信息。必须在
Add
classesAdd()
函数的方法签名中指定每个参数的类型。但是,您的Add
类Add()
函数的返回类型可以从正在实现的接口推断出来,不需要显式提供
因此,以下内容是有效的:
interface IFace {
add(a: number, b:number): number
}
class Add implements IFace {
/* Must supply number types for a and b, but return type of function be be omitted */
add(a:number,b:number) {
return a + b;
}
}
从正式的打印纸条文件() 接口描述类的公共端,而不是公共端和私有端。这禁止您使用它们来检查类实例的私有端是否也有特定类型(因此,是的,在这种情况下,您需要定义a&b和d的类型) 我想说是的,因为函数(和方法)可以在typescript中进行类型重载。因此,
add(a,b)
是否实现了IFace.add
并不十分清楚。
interface ClockInterface {
currentTime: Date;
setTime(d: Date): void;
}
class Clock implements ClockInterface {
currentTime: Date = new Date();
setTime(d: Date) {
this.currentTime = d;
}
constructor(h: number, m: number) { }
}