विधि और फ़ंक्शन के बीच क्या अंतर है? क्या यह एक विधि एक मूल्य देता है और एक समारोह नहीं करता है?विधि और फ़ंक्शन के बीच क्या अंतर है?
उत्तर
विधि वास्तव में एक कार्य एक वर्ग/वस्तु के संदर्भ में उपयोग किया गया है।
जब आप एक वर्ग/वस्तु के बाहर एक समारोह बनाने के लिए, आप इसे एक समारोह कॉल कर सकते हैं लेकिन जब आप एक वर्ग के अंदर एक समारोह बनाने के लिए, आप इसे एक विधि कॉल कर सकते हैं।
class foo {
public function bar() { // a method
........
}
}
function bar() { // a function not part of an object
}
तो एक वस्तु विधियों (कार्यों) और गुण (चर) हो सकता है।
यह बहुत अच्छा जवाब है, बहुत स्पष्ट है। धन्यवाद। – Ben
विधियों को इस वर्ग के भीतर '$ this-> बार() 'कहा जाना चाहिए, अन्यथा आपको पहले कक्षा को तुरंत चालू करना होगा और फिर क्लास इंस्टेंस (ऑब्जेक्ट) का उपयोग करके इसे कॉल करना होगा, जैसे:' $ foo-> बार() '। कार्यों के लिए यह बस 'बार() 'है। – knownasilya
आप रोज़ाना कुछ नया सीखते हैं। –
एक पंक्ति में, एक विधि एक कार्य है लेकिन एक कार्य आवश्यक रूप से एक विधि नहीं है। अंतर यह है कि उन वर्गों के उदाहरणों के साथ उपयोग की जाने वाली कक्षाओं में परिभाषित कार्यों का वर्णन करने के लिए एक विधि का उपयोग किया जाता है।
package {class Example {
public function iAmAMethod():void {
addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void {
trace("inline function, yay!");
});
}
}
भाव "विधि" और "समारोह" के बीच अंतर यह है कि एक "विधि" एक वर्ग के एक सदस्य समारोह है, जबकि एक स्टैंडअलोन काम नहीं करेगी, और एक स्टैंडअलोन समारोह आमतौर पर वैश्विक संदर्भ में मौजूद है।
दोनों का उपयोग एक दूसरे के लिए किया जाता है, लेकिन कार्य संरचनात्मक भाषाओं में उपयोग की जाने वाली शब्दावली है और विधि ऑब्जेक्ट ओरिएंटेड लैंगोएज में उपयोग की जाने वाली शब्दावली है। ऑब्जेक्ट्स के भीतर विधियां भी मौजूद हैं जबकि कार्य ऑब्जेक्ट्स के बिना भी मौजूद हो सकते हैं।
शब्द एक-दूसरे का विरोध नहीं करते हैं बल्कि एक subroutine के दो संभावित पहलुओं का वर्णन करते हैं। शब्दों को परिभाषित करने का प्रयास निम्नानुसार है:
सबराउटिन: निर्देशों का एक सेट जिसे एक ही कार्यक्रम में कई बार उपयोग किया जा सकता है।
फ़ंक्शन: एक सबराउटिन जो मान देता है। गणित में कार्यों से व्युत्पन्न (wikipedia)।
विधि: एक ऑब्जेक्ट या क्लास से संबंधित एक सबराउटिन। एक समारोह हो सकता है।
मैं प्रत्येक सबराउटिन के लिए "फ़ंक्शन" शब्द का उपयोग करता हूं जिसका कोई साइड इफेक्ट नहीं होता है लेकिन एक स्पष्ट मूल्य देता है और प्रत्येक सबराउटिन के लिए "विधि" शब्द का दुष्प्रभाव होता है जिसका दुष्प्रभाव होता है।
ये फोरट्रान में उपयोग की जाने वाली उप-सूटिन और फ़ंक्शन की परिभाषाएं हैं, जो पहली उच्च स्तरीय भाषाओं में से एक है। वह बहुत समय पहले था। मैं एक समकालीन भाषा के बारे में नहीं सोच सकता जो एक कीवर्ड के रूप में "subroutine" का उपयोग करता है। सी भाषा दोनों के लिए "फ़ंक्शन" का उपयोग करती है, और इसी तरह अधिकांश अन्य भाषाएं शब्द का उपयोग करती हैं। (आप विधि के लिए ठीक हैं।) –
लेकिन सवाल कीवर्ड के बारे में कुछ भी नहीं कहता है। यह बोली जाने वाली भाषा में कोड का वर्णन करने के बारे में एक शब्दावली प्रश्न है। मैं विकिपीडिया लेख की सिफारिश कर सकता हूं http://en.wikipedia.org/wiki/Subroutine – Jonatan
@MarcRochkind कीवर्ड (उप 'कीवर्ड का उपयोग करके मूलभूत परिभाषित नहीं करता है? – Byson
फ़ंक्शन एक सामान्य शब्द है जो प्रक्रियात्मक प्रोग्रामिंग दृष्टिकोण में उपयोग किया जाता है, जहां एक वर्ग संपत्ति को परिभाषित करने के लिए विधि ऑब्जेक्ट उन्मुख प्रोग्रामिंग दृष्टिकोण में विधि का उपयोग किया जाता है।
हम कक्षा के अंदर विधि को परिभाषित है, हम परिभाषित पक्ष वर्ग बाहर कार्य करते है, समारोह वास्तव में php के भीतर कोई तकनीकी अंतर नहीं वर्ग
- 1. फ़ंक्शन टेम्पलेट और टेम्पलेट फ़ंक्शन के बीच क्या अंतर है?
- 2. "फ़ंक्शन" और "फ़ंक्शन" के बीच क्या अंतर है! वीआईएम में?
- 3. प्रतिनिधि उदाहरण और विधि सूचक के बीच क्या अंतर है?
- 4. सबराउटिन और फ़ंक्शन के बीच क्या अंतर है?
- 5. फ़ंक्शन घोषणा और हस्ताक्षर के बीच क्या अंतर है?
- 6. फ़ंक्शन "मेल()" और "@mail()" कॉल के बीच क्या अंतर है?
- 7. NavigationService.Navigate() विधि और PhoneApplicationFrame.Source प्रॉपर्टी के बीच क्या अंतर है?
- 8. एकाधिक प्रेषण और विधि अधिभार के बीच क्या अंतर है?
- 9. विधि ओवरलोडिंग और ओवरराइडिंग के बीच क्या अंतर है?
- 10. क्या सिंक्रनाइज़ (यह) और सिंक्रनाइज़ विधि के बीच अंतर है
- 11. विधि और चयनकर्ता के बीच क्या अंतर है?
- 12. एसिंक प्रतिनिधि और एसिंक विधि के बीच क्या अंतर है?
- 13. जावा में, this.method() और विधि() के बीच क्या अंतर है?
- 14. फ़ंक्शन पॉइंटर बनाम फ़ंक्शन कॉल के बीच क्या अंतर है?
- 15. कथन और फ़ंक्शन के बीच अंतर
- 16. # {} $ {} और% {} के बीच क्या अंतर है?
- 17. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 18. $ और $$ के बीच क्या अंतर है?
- 19. के बीच क्या अंतर है:। और: आर !?
- 20. भिन्नता और '-' के बीच क्या अंतर है?
- 21. "$^एन" और "$ +" के बीच क्या अंतर है?
- 22. RegExp के exec() फ़ंक्शन और स्ट्रिंग के मिलान() फ़ंक्शन के बीच क्या अंतर है?
- 23. फ़ंक्शन और नए फ़ंक्शन के बीच जावास्क्रिप्ट अंतर
- 24. इनलाइन फ़ंक्शन और स्थिर इनलाइन फ़ंक्शन के बीच अंतर
- 25. इन दो फ़ंक्शन प्रकार परिभाषाओं के बीच क्या अंतर है?
- 26. के बीच क्या अंतर है?
- 27. सी ++ में, एक विधि है और एक समारोह के बीच क्या अंतर है
- 28. अंतर और कहां के बीच क्या अंतर है?
- 29. एक कॉन्स सदस्य फ़ंक्शन और गैर-कॉन्स्ट सदस्य फ़ंक्शन के बीच क्या अंतर है?
- 30. पायथन में स्ट्रिंग विधि और स्ट्र विधि के बीच क्या अंतर है?
का हिस्सा नहीं है। लेकिन मेरे दिमाग में, एक समारोह एक और गणितीय चीज है; यह राज्य नहीं बदलता है, केवल एक मान देता है (जैसे f (x) = 2x)।एक विधि राज्य को संशोधित करती है (जैसे "हैलो वर्ल्ड" आउटपुट) और एक मूल्य वापस कर सकता है। यह मूल रूप से एक डुप्ली है: http://stackoverflow.com/questions/43777/method-vs-message-vs-function-vs उम्मीद है कि आपके प्रश्न का उत्तर दें हालांकि। – Tyler
फ़ंक्शन का अर्थ अधिकांश प्रोग्रामिंग भाषाओं में गणित में इसके अर्थ से संबंधित नहीं है। –