मेरे विचार में, उदाहरण चर तभी आवश्यक होते हैं जब डेटा का उपयोग कॉल में किया जाएगा।
यहाँ एक उदाहरण है:
myCircle = myDrawing.drawCircle(center, radius);
अब इमेजिंग myDrawing वर्ग myCircle ऑब्जेक्ट बनाने के लिए 15 सहायक कार्यों का उपयोग करता है और उन कार्यों में से प्रत्येक को केंद्र और त्रिज्या की आवश्यकता होगी। उन्हें अभी भी myDrawing वर्ग के उदाहरण चर के रूप में सेट नहीं किया जाना चाहिए। क्योंकि उन्हें फिर कभी जरूरत नहीं पड़ेगी।
दूसरी ओर, myCircle वर्ग को केंद्र और त्रिज्या दोनों को उदाहरण चर के रूप में संग्रहीत करने की आवश्यकता होगी।
myCircle.move(newCenter);
myCircle.resize(newRadius);
MyCircle ऑब्जेक्ट के लिए यह जानने के लिए कि यह त्रिज्या और केंद्र क्या है जब ये नए कॉल किए जाते हैं, तो उन्हें उदाहरण चर के रूप में संग्रहीत करने की आवश्यकता होती है, न कि केवल उन फ़ंक्शन को पास किया जाता है जिनकी उन्हें आवश्यकता होती है।
इसलिए मूल रूप से, उदाहरण चर एक वस्तु की "स्थिति" को बचाने का एक तरीका है। यदि किसी वस्तु की स्थिति जानने के लिए एक चर आवश्यक नहीं है, तो यह एक उदाहरण चर नहीं होना चाहिए।
और सब कुछ सार्वजनिक करने के रूप में। यह पल में आपके जीवन को आसान बना सकता है। लेकिन यह आपको परेशान करने के लिए वापस आ जाएगा। कीट न करें।