Почему было бы выгодно использовать статический метод и передавать ссылку на объект в качестве параметра, а не вызывать метод объекта?
Чтобы уточнить, что я имею в виду, рассмотрим следующий класс:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
По сравнению с этой альтернативной реализацией со статическим методом:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Мой вопрос не ограничивается только этим классом; меня интересует любая точка, в которой вы передаете объект вместо вызова его в методе. Является ли это когда-либо выгодным? Если так, то почему?