如果爲某個方法添加第三個簽名,是否讓第二個和第三個變體直接調用第一個變體(實現的變體),還是讓第三個調用爲第二個,第二個爲第一個。重載標準協議的方法?
在我看來,額外的方法調用將會是你可能沒有的開銷,所以你希望所有的方法直接調用已實現的方法。
我想知道是否有人知道這樣做的任何「標準推薦方式」,或者如果它更個人的偏好或取決於上下文。當我向現有的重載方法添加一個新簽名時,我一直很好奇。你幾乎總是可以選擇以哪種方式來做到這一點。
哀婉愚蠢的例子:
現有的方法:
public String concatenate(String one, String two, String three) {
return(one+two+three);
}
public String concatenate(String one, String two) {
return(concatenate(one, two, ""));
}
要添加下一個,我該怎麼辦:
public String concatenate(String one) {
return(concatenate(one,"",""));
}
OR
public String concatenate(String one) {
return(concatenate(one,""));
}
,是的,我知道的最後的方法本質上是沒有操作的。
Java對吧?您可能希望使用您正在使用的語言標記。 – torak 2010-09-01 16:40:50
嗯,我不認爲它專門應用於Java,看起來像一個適用於任何支持超載的語言的問題。 – 2010-09-02 12:35:18