Statik bir yöntem kullanmanın ve referansı bir nesneye yöntemi bir nesne üzerinde çağırmak yerine parametre olarak iletmenin avantajı nedir?
Ne demek istediğimi açıklığa kavuşturmak için aşağıdaki sınıfı düşünün:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
Statik bir yöntemle bu alternatif uygulama ile karşılaştırıldığında:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Sorum sadece bu sınıfla sınırlı değil; bir nesneyi bir yönteme çağırmak yerine geçireceğiniz herhangi bir nokta ilgilendiğim şeydir. Bu hiç avantajlı mı? Öyleyse neden?