एक स्थैतिक विधि का उपयोग करने और एक वस्तु पर विधि को कॉल करने के बजाय एक पैरामीटर के रूप में किसी ऑब्जेक्ट के संदर्भ को पारित करने के लिए एक फायदा क्यों होगा?
स्पष्ट करने के लिए कि मेरा क्या मतलब है, निम्न वर्ग पर विचार करें:
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++;
}
}
मेरा प्रश्न केवल इस वर्ग तक ही सीमित नहीं है; किसी भी बिंदु पर जहां आप किसी वस्तु को विधि पर कॉल करने के बजाय पास करेंगे, वह वही है जिसमें मैं दिलचस्पी रखता हूं। क्या यह कभी फायदेमंद है? यदि हां, तो क्यों?