如果为某个方法添加第三个签名,是否让第二个和第三个变体直接调用第一个变体(实现的变体),还是让第三个调用为第二个,第二个为第一个。重载标准协议的方法?
在我看来,额外的方法调用将会是你可能没有的开销,所以你希望所有的方法直接调用已实现的方法。
我想知道是否有人知道这样做的任何“标准推荐方式”,或者如果它更个人的偏好或取决于上下文。当我向现有的重载方法添加一个新签名时,我一直很好奇。你几乎总是可以选择以哪种方式来做到这一点。
哀婉愚蠢的例子:
现有的方法:
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