Pourquoi y aurait-il un avantage à utiliser une méthode statique et à passer la référence à un objet en tant que paramètre plutôt que d'appeler la méthode sur un objet?
Pour clarifier ce que je veux dire, considérez la classe suivante:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
Par rapport à cette implémentation alternative avec une méthode statique:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Ma question ne se limite pas à cette seule classe; n'importe quel point où vous passeriez un objet au lieu de l'appeler sur une méthode est ce qui m'intéresse. Est-ce jamais avantageux? Si oui, pourquoi?