我已經得到了應該接受兩個不同勢的數據類型作爲輸入的功能:你可以讓一個函數接受兩種不同的數據類型嗎?
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