Если вы добавили третью подпись для метода, сделайте ли вы, что вторая и третья вариации напрямую вызовите первый (реализованный вариант), или вы делаете третий вызов вторым и вторым вызовами первым.Метод перегрузки стандартного протокола?
Мне кажется, что вызов дополнительного метода будет накладным, без которого вы могли бы жить, поэтому вы бы хотели, чтобы все методы вызывали реализованный метод напрямую.
Мне было интересно, знает ли кто-нибудь о каком-либо «стандартный рекомендованный способ» делать это или, если это более личное предпочтение или зависит от контекста. Я всегда удивляюсь, когда добавляю новую подпись к существующему перегруженному методу. У вас почти всегда есть выбор, как это сделать.
патетически Stupid Пример:
Существующие методы:
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,"",""));
}
ИЛИ
public String concatenate(String one) {
return(concatenate(one,""));
}
и да, Я знаю, что окончательный метод по существу не-op.
Java право? Возможно, вы захотите использовать язык, который вы используете для набора тегов. – torak
Ну, я не думал, что это применительно к Java исключительно, похоже на вопрос, применимый к любому языку, который поддерживает перегрузку. –