Dlaczego miałaby być korzyść ze stosowania metody statycznej i przekazywania odwołania do obiektu jako parametru zamiast wywoływania metody na obiekcie?
Aby wyjaśnić, co mam na myśli, rozważ następującą klasę:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
W porównaniu z tą alternatywną implementacją metodą statyczną:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Moje pytanie nie ogranicza się tylko do tej klasy; interesuje mnie każdy punkt, w którym można przekazać obiekt zamiast wywoływać go za pomocą metody. Czy jest to kiedykolwiek korzystne? Jeśli tak, to dlaczego?