Warum sollte es von Vorteil sein, eine statische Methode zu verwenden und die Referenz als Parameter an ein Objekt zu übergeben, anstatt die Methode für ein Objekt aufzurufen?
Betrachten Sie die folgende Klasse, um zu verdeutlichen, was ich meine:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
Im Vergleich zu dieser alternativen Implementierung mit einer statischen Methode:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Meine Frage ist nicht nur auf diese Klasse beschränkt; Jeder Punkt, an dem Sie ein Objekt übergeben würden, anstatt es für eine Methode aufzurufen, interessiert mich. Ist das jemals vorteilhaft? Wenn ja warum?