यदि ऑब्जेक्ट के विशेषता मान में परिवर्तन को सुनना संभव है तो मैं जावा दस्तावेज़ीकरण से नहीं प्राप्त कर सकता। मान लें कि मेरे ऑब्जेक्ट में केवल एक int विशेषता फ़ील्ड है। मुझे पल में एक क्रिया करने की ज़रूरत है, मेरी वस्तु अपनी स्थिति बदलती है। क्या यह संभव है?
3 जवाब
आप जावा में पर्यवेक्षकों/अवलोकनों को देखना चाहते हैं। वे आपको वह करने की अनुमति देंगे जो आपको चाहिए।
इसके बारे में ऑनलाइन बहुत कुछ है।
यहाँ एक छोटा सा आधार है: http://docs। oracle.com/javase/7/docs/api/java/util/Observer.html
यहां और अधिक: हमें ऑब्जर्वर और ऑब्जर्वेबल का उपयोग कब करना चाहिए
यदि यह वस्तु आपकी नहीं है और आप किसी वस्तु की संपत्ति के लिए घटना श्रोता की तलाश कर रहे हैं, नहीं, कोई वस्तु संपत्ति श्रोता नहीं हैं।
लेकिन, अगर आप वस्तु के स्रोत को संशोधित कर सकते हैं, तो मुझे लगता है कि आप गेटर्स और सेटर्स का उपयोग कर रहे हैं। तो, आपके पास कुछ ऐसा होगा ...
public void setIntegerValue(int num){
this.num = num;
}
जब पूर्णांक num
बदल जाता है, तो अपने फ़ंक्शन को निष्पादित करने के लिए सेटर के अंदर किसी प्रकार का तर्क जोड़ना सबसे कुशल काम है:
public void setIntegerValue(int num){
this.num = num;
yourFunction(); // Let your program know that num has been modified
}
यदि आप एक सेटर विधि का उपयोग करते हैं तो आप अन्य विधियों में कॉल जोड़ सकते हैं।
सबसे पहले, अपनी संपत्ति को निजी बनाएं।
private int myProp;
फिर, एक सेटर जोड़ें।
public void setMyProp(int myProp) {
boolean isVariableChanged = myProp != this.myProp;
this.myProp = myProp;
// do other things
}
इस मामले में, यदि चर बदल गया है, तो विधि में बूलियन सत्य होगा, जिसका उपयोग किया जा सकता है यदि आप विधि को ट्रिगर करने से रोकना चाहते हैं यदि चर को उसके वर्तमान मान में वापस बदल दिया जाता है।
फिर आपको एक गेटर की भी आवश्यकता होगी।
public int getMyProp() {
return myProp;
}
आम तौर पर, गेटर्स और सेटर्स को कोड को और अधिक रखरखाव योग्य बनाने की अनुशंसा की जाती है जब कक्षा के कार्यान्वयन में परिवर्तन होता है।
हालांकि, वे आपको छद्म श्रोताओं के रूप में गेटर्स और सेटर्स का उपयोग करने की क्षमता भी देते हैं।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।