我已经得到了应该接受两个不同势的数据类型作为输入的功能:你可以让一个函数接受两种不同的数据类型吗?
vec3 add(vec3 vec){
this.x += vec.x;
this.y += vec.y;
this.z += vec.z;
return this;
}
vec3 add(num scalar){
this.x += scalar;
this.y += scalar;
this.z += scalar;
return this;
}
但这返回一个错误:
The name 'add' is already defined
有没有一种方法,使在飞镖这项工作? 我知道类型是可选的,但我想知道是否有办法。
感谢您的快速回答,我知道did'n它被称为方法重载,所以这是真正的帮助:) – Goudgeld1
,我不会以任何方式使用可选参数 - 为两个函数使用不同的名称(推荐 - 他们做不同的事情)或(/和也)开启参数类型'vec3 add(other)=>(other是num)? addScalar(other):addVector(other);'。如果一个对象必须实现两个不同的接口,这两个有一个'add'方法后者可以是必要的(但是这通常超载太多的标志!) – lrn