जैसा कि मैं इसे समझता हूं, एक इंटरफ़ेस जावा का उद्देश्य इंटरफ़ेस को भरने के लिए कक्षाओं के तरीकों को निर्धारित करके डिज़ाइन को लागू करने का इरादा है। क्या यह रूबी मॉड्यूल के साथ भी विचार है? मैं देखता हूं कि जावा में इंटरफेस की तरह ही, आप रुबी में एक मॉड्यूल को तुरंत चालू नहीं कर सकते हैं।एक जावा इंटरफेस के बराबर एक रूबी मॉड्यूल है?
उत्तर
मुझे लगता है कि मैं मॉड्यूल को सी # में एक विस्तार विधि के समान कुछ समझाऊंगा। आप किसी मौजूदा वर्ग में कार्यक्षमता जोड़ रहे हैं जिसे वास्तव में कहीं और परिभाषित किया गया है। सी # या जावा में सटीक एनालॉग नहीं है, लेकिन मैं निश्चित रूप से इसे एक इंटरफ़ेस के रूप में नहीं सोचूंगा क्योंकि कार्यान्वयन के साथ-साथ इंटरफ़ेस भी लिया गया है।
नहीं रूबी में एक मॉड्यूल एक स्थिर वर्ग के समान है। मैं जावा डेवलपर नहीं हूं, लेकिन मैं अनुमान लगा रहा हूं कि जावा इंटरफेस सी # इंटरफेस के समान हैं, यानी, वे अनुबंध को परिभाषित करते हैं, लेकिन कार्यान्वयन नहीं करते हैं।
मुझे यह नहीं करना चाहिए, जबकि मुझे रूबी में अनुभव है, यह वीडियो गेम निर्माण (आरजीएसएस/2) में है। मुझे यकीन है कि मैं कई चीजों से अनजान हूं, एक अनुभवी रूबी प्रोग्रामर जानता होगा।
इसलिए यदि 'रूबी 'मॉड्यूल'' जावा 'स्थिर वर्ग की तरह है, तो' '#' 'नेमस्पेस' की तरह 'रूबी' मॉड्यूल' है? – mmcrae
रूबी में एक मॉड्यूल स्कोप/नेमस्पेस का एक छोटा सा हिस्सा है जिसे अन्य चीजों में जोड़ा जा सकता है। उनका उपयोग दो अलग-अलग लेकिन संबंधित उद्देश्यों के लिए किया जाता है: संबंधित चीजों (स्थिरांक, कक्षाएं, आदि) का एक गुच्छा बंडल करना जो एक साथ हैं और फिर उन्हें किसी अन्य दायरे में जोड़ना (जैसे एकाधिक विरासत)।
उदाहरण के लिए, ऐसे मॉड्यूल हैं जिन्हें तुलनात्मक और संख्यात्मक जैसी चीजें कहा जाता है और आगे जो कार्यक्षमता को समाहित करता है, यदि आप इन विशेषणों को लागू करते हैं तो आप कुछ अपेक्षा करते हैं। एक बुनियादी परिभाषा प्रदान करके (एक विधि जो तुलनात्मक और दोहराने के लिए एक पुनरावर्तक के लिए दो उदाहरणों की तुलना करती है) आप मॉड्यूल आयात कर सकते हैं और स्वयं को पूर्ण इंटरफ़ेस से ढूंढ सकते हैं।
दूसरी ओर नेट जैसे मॉड्यूल हैं जिन्हें आप कभी-कभी कक्षा में शामिल नहीं करेंगे, लेकिन नेट :: HTTP, नेट :: एफ़टीपी, नेट :: एसएमटीपी आदि जैसे कार्यक्षमता का एक बंडल प्रदान करते हैं।
मध्य में मैथ और प्रोसेस जैसी चीजें हैं जिनका उपयोग एक या दूसरे तरीके से किया जा सकता है।
- मार्कसक्यू
संक्षिप्त उत्तर नहीं है।
तर्क है, जावा/सी # इंटरफेस विधि कार्यान्वयन को परिभाषित करता है जो एक कार्यान्वयन वर्ग न्यूनतम प्रदान करेगा।
इसके अतिरिक्त:
- माणिक मॉड्यूल के साथ बतख टाइपिंग की वजह से इस तरह का कोई अनुबंध नहीं है।
- मॉड्यूल आसान पुन: उपयोग के लिए सामान्य कार्यक्षमता निकालने का एक तरीका है। निकटतम संबंध सी # एक्सटेंशन विधियां है, लेकिन वे एक सटीक मिलान नहीं हैं क्योंकि वे एक स्थिर संदर्भ में मौजूद हैं।
- मॉड्यूल मौजूदा कक्षा में राज्य जोड़ सकते हैं।
- मॉड्यूल स्थिर तरीकों
- मॉड्यूल नामस्थान के रूप में कार्य कर सकते हैं हो सकता है
उदाहरण:
module SimpleConversation
class NamespacedExample
def poke
puts "ouch"
end
end
attr_accessor :partner_name
def converse
partner_name ||= "Slowpoke"
speak + "\n#{partner_name}: Yes they are"
end
def self.yay
puts "yay"
end
end
class Foo
include SimpleConversation
attr_accessor :name
def speak
name ||= "Speedy"
"#{name}: tacos are yummy"
end
end
x = Foo.new
x.name = "Joe"
x.partner_name = "Max"
puts x.speak
puts x.converse
y = SimpleConversation::NamespacedExample.new
y.poke
SimpleConversation.yay
रूबी में दृश्य मॉड्यूल की औपचारिक बिंदु से लागू डिजाइन पैटर्न "mixin" कहा जाता है। http://en.wikipedia.org/wiki/Mixin
इसकी तुलना PHP लक्षणों से की जा सकती है। http://php.net/manual/en/language.oop5.traits.php
ऐसी वास्तुकला उन भाषाओं में उपयोगी है जो एकाधिक विरासत की अनुमति नहीं देते हैं, उदा। रुबी, पीएचपी।
- 1. एक रूबी मॉड्यूल
- 2. जावा .properties फ़ाइल रूबी के बराबर है?
- 3. रूबी रूबी के बराबर है?
- 4. रूबी पाइथन के "डीआईआर" के बराबर है?
- 5. क्या पर्ल के मॉड्यूल-स्टार्टर के बराबर एक अजगर है?
- 6. स्कैला विशेषता - जावा इंटरफेस सार्वजनिक स्थिर क्षेत्र के बराबर है?
- 7. क्या रूबी के ऑब्जेक्ट # टैप के बराबर एक jQuery है?
- 8. जावा में एक इंटरफेस क्या है?
- 9. जावा में एक स्थिर इंटरफेस क्या है?
- 10. एक जावा पैकेज एक .Net असेंबली के बराबर है?
- 11. रुबी के पाइथन के मल्टीप्रोसेसिंग मॉड्यूल के बराबर क्या है?
- 12. जावा में एक इंटरफेस के लिए एक वस्तु डाली?
- 13. रूबी: एक गतिशील मॉड्यूल नाम शामिल करें
- 14. क्या रूबी/रेल के बराबर ++ है?
- 15. java.util.List एक इंटरफेस है, और JAXB इंटरफेस
- 16. मॉड्यूल और इंटरफेस
- 17. क्या java.util.concurrent.Executor के बराबर एक नेट है?
- 18. जावा में सी # में कनवर्ट वर्ग के एक बराबर है?
- 19. जावा - इंटरफ़ेस, एक इंटरफेस को तत्काल?
- 20. रूबी मॉड्यूल
- 21. 'दोस्तों' जावा के बराबर है?
- 22. क्या रूबी प्रतीकों के बराबर पाइथन है?
- 23. पाइथन सेटैटर के बराबर रूबी()
- 24. जावा app.config के बराबर है?
- 25. रूबी: मॉड्यूल,
- 26. रूबी बराबर स्मृति
- 27. जावा में, वहाँ है कि एक तर्क दो इंटरफेस
- 28. एक इंटरफेस के साथ बातचीत?
- 29. जावा में जेनेरिक ऑब्जेक्ट बनाने के लिए कैसे एक इंटरफेस
- 30. जावा इंटरफेस के सामने एक राजधानी 'मैं' डालकर
यहां मेरे अपने लाभ के लिए, क्या मैं अपने मूल्यांकन में गलत हूं? इस तरह मैं अब तक उनका उपयोग कर रहा हूं, शायद मैं कुछ खो रहा हूं। –
आप रूबी कक्षा में एक मॉड्यूल शामिल कर सकते हैं और कम से कम इसके व्यवहार, उदाहरण विधियों का वारिस कर सकते हैं। Http://www.ruby-doc.org/core/classes/Module.html – tvanfosson
पर एक नज़र डालें, यह सच है, मुझे इसके बारे में पता था, मैं शायद ही कभी इसे आरपीजी निर्माता में उपयोग करता हूं। धन्यवाद, अब मैं बिंदु देखता हूं। –