जैसा कि मैंने हमेशा इसे समझा, कार्यक्रम राज्य में कोई भी परिवर्तन (या आईओ के साथ कुछ भी करने के लिए) एक दुष्प्रभाव है। इससे कोई फर्क नहीं पड़ता कि क्या वैश्विक वैरिएबल में या वस्तु के निजी क्षेत्र में परिवर्तन होता है, जिस पर विधि को बुलाया जाता है। यह इस प्रकार है कि सभी विधियां जो कुछ भी वापस नहीं करती हैं या तो कुछ भी नहीं करती हैं या साइड इफेक्ट नहीं होती हैं।
मेरा भ्रम हमारे विश्वविद्यालय के प्रशिक्षकों में से एक है (जो अभी भी एक छात्र है और इस प्रकार सर्वज्ञानी नहीं है;)) मुझे बताते हुए कि सेटर्स के दुष्प्रभाव नहीं हैं।जब किसी विधि के साइड इफेक्ट्स होते हैं?
उत्तर
आपका प्रशिक्षक गलत है।
http://en.wikipedia.org/wiki/Side_effect_(computer_science)
पैसे उद्धरण # 1::
कंप्यूटर विज्ञान में, एक समारोह या अभिव्यक्ति अतः संपादकों के लिए क्षमा याचना यहाँ पूरा लेख चिपकाने नहीं करने के लिए के साथ, इस विकिपीडिया क्या कहना है कहा जाता है कि यदि कोई मूल्य बनाने के अलावा, यह कुछ राज्य को संशोधित करता है या कॉलिंग फ़ंक्शंस या बाहरी दुनिया के साथ एक अवलोकन करने योग्य बातचीत करता है, तो इसका दुष्प्रभाव होता है।
पैसे उद्धरण # 2:
साइड इफेक्ट की उपस्थिति में, एक कार्यक्रम के व्यवहार अतीत के इतिहास पर निर्भर करता है; अर्थात, मूल्यांकन मामलों का आदेश है।
गैर-एनओपी सेटर्स हमेशा मानदंडों को पूरा करते हैं।
गेटर्स और सेटर्स get_ और set_ विधियों के लिए सिंटैक्टिक चीनी हैं। वे बिल्कुल साइड इफेक्ट्स कर सकते हैं (हालांकि संभवतः यह बहुत बुरा विचार है कि सभी कॉलर चाहता था कि काउंटर या कुछ बढ़ाना था)।
सबसे पहले: मुझे भाषा अज्ञात टैग के बारे में पता है! "रनको" ने सवाल का जवाब सही ढंग से दिया। लेकिन अक्सर आप अपने ज्ञान को असली दुनिया में लागू करना चाहते हैं, इसलिए मुझे लगता है कि मुझे यह भी जवाब देना अच्छा लगेगा कि इस समस्या को और अधिक व्यावहारिक तरीके से संबोधित किया जाए।
सी ++, सी # या जावा जैसी असली दुनिया की भाषाओं से निपटने के दौरान, फिर भी एक एनओपी फ़ंक्शन में वास्तविक दुष्प्रभाव होते हैं जो कोड को निष्पादित कर सकते हैं!
बस स्थिर-रचनाकारों के बारे में सोचें। भले ही चश्मा हमेशा एक निर्दिष्ट समय निर्दिष्ट नहीं करते हैं कि एक वर्ग के लिए एक स्थिर कन्स्ट्रक्टर चलाया जाता है, ज्यादातर समय यह उस समय का बिंदु होगा जहां कक्षा के किसी विधि या सदस्य को पहली बार एक्सेस किया जाता है। सी # में
उदाहरण:
class NotSoObvious
{
static NotSoObvious()
{
CauseSomeSideEffects();
}
// calling this can cause the constructor to run first!
public static void DoNothing()
{
return;
}
}
इतना ही नहीं है कि यहां तक कि एक विधि है कि सभी को नहीं बुलाया जा रहा है दुष्प्रभाव हो सकते हैं कर रहा है! प्रतिबिंब के बारे में सोचें (किसी प्रोग्राम की अपनी संरचना के बारे में जानकारी पूछने की क्षमता)। जब कोई विधि मौजूद होती है लेकिन इसे नहीं कहा जा रहा है, तो इसे प्रतिबिंब द्वारा अभी भी पता लगाया जा सकता है।
किसी विधि के साथ कोई विधि निश्चित रूप से उस प्रोग्राम पर दुष्प्रभाव नहीं डालती है जो अंदर की विधियों की संख्या को आउटपुट करती है!
यह सब इस पर उबाल जाता है: यदि आप किसी विधि के वास्तविक दुष्प्रभावों के बारे में जानना चाहते हैं, तो आपको सबसे पहले यह निर्धारित करना होगा कि आप "दुष्प्रभाव" के रूप में क्या मानते हैं।
- 1. क्या हास्केल आयातों के साइड इफेक्ट्स हैं?
- 2. कार्यात्मक प्रोग्रामिंग: साइड इफेक्ट्स
- 3. LINQ साइड इफेक्ट्स
- 4. टास्क LongRunning साइड इफेक्ट्स?
- 5. साइड इफेक्ट्स के साथ यूनिट परीक्षण फ़ंक्शन?
- 6. सी ++ में साइड इफेक्ट्स और अवलोकन योग्य व्यवहार कैसे हैं?
- 7. नेस्टेड फ़ंक्शंस: साइड इफेक्ट्स का अयोग्य उपयोग?
- 8. असेंबली कॉल करने के साइड इफेक्ट्स। कई बार लोड करें
- 9. सी ++: कोई साइड इफेक्ट्स के साथ फ़ंक्शन अनुकूलित करना
- 10. सी ++ 11 साइड इफेक्ट्स के साथ 11 चालक कन्स्ट्रक्टर
- 11. पोजिशनिंग नोड्स के साथ `{रैंक = एक ही ...}` साइड इफेक्ट्स
- 12. सादा अंग्रेजी में जावास्क्रिप्ट बंद और साइड इफेक्ट्स? (अलग से)
- 13. एचटीएमएल में एक आईडी आईडी के कई उदाहरणों का उपयोग करने के साइड इफेक्ट्स क्या हैं?
- 14. कीवर्ड 'नया' जावास्क्रिप्ट में क्या साइड इफेक्ट्स करता है?
- 15. एक पुनरावर्तक में साइड इफेक्ट्स हानिकारक माना जाता है?
- 16. कैसे अतिभारित को अस्पष्ट संदर्भ तय करने के लिए लागू होते हैं() विधि जब Json
- 17. क्लोजर - ऑर्डर से बाहर होने वाले साइड इफेक्ट्स
- 18. सर्वर साइड और क्लाइंट साइड विधि
- 19. स्टैक ओवरव्लो कैसे जानता है जब किसी प्रश्न के नए उत्तर होते हैं?
- 20. कोई साइड इफेक्ट्स के साथ एक निर्धारिक कार्य के लिए शब्दावली?
- 21. जब ब्लॉक फ़ंक्शन (रूबी) से अधिक उपयोगी होते हैं?
- 22. Azure के लिए उन्नत विशेषाधिकारों के साथ विजुअल स्टूडियो चलाना: साइड इफेक्ट्स से बचने के किसी भी तरीके से?
- 23. माउस का पता लगाने के बिना जावास्क्रिप्ट के साथ जावा पर क्लिक करें साइड इफेक्ट्स
- 24. पता लगाना जब MapView टाइल्स प्रदर्शित होते हैं
- 25. साइड-बाय-साइड असेंबली क्या हैं?
- 26. क्या आईफ्रेम पेज बताए जा सकते हैं जब वे इफ्रैम होते हैं?
- 27. सिंक्रनाइज़ किए गए खंड के अंदर अपवाद फेंकने के साइड इफेक्ट्स?
- 28. ओओपी में साइड इफेक्ट्स और स्टेटस से बचने के तरीके सीखने के लिए सबसे अच्छे संसाधन क्या हैं?
- 29. रेल_फिल्टर से पहले कैसे लागू होते हैं?
- 30. ओकैमल: कुछ मूल्यों को संग्रहीत करने के बाद बाद में "साइड इफेक्ट्स" पेश किया जाता है?