mixins और लक्षण के बीच क्या अंतर है?mixins बनाम लक्षण
According to Wikipedia, रूबी मॉड्यूल प्रकार के लक्षण की तरह हैं। ऐसा कैसे?
mixins और लक्षण के बीच क्या अंतर है?mixins बनाम लक्षण
According to Wikipedia, रूबी मॉड्यूल प्रकार के लक्षण की तरह हैं। ऐसा कैसे?
विज्ञापन 1. mixins आप उदाहरण वैरिएबल निर्धारित कर सकते हैं। लक्षण इस अनुमति नहीं देते हैं। राज्य कक्षा (= कक्षाओं का उपयोग कर कक्षा) लिखकर प्रदान किया जाना चाहिए
विज्ञापन 2. नाम विवाद हो सकता है। दो mixins (MA
और MB
) या लक्षण (TA
और TB
) एक ही परिभाषा foo():void
साथ विधि परिभाषित करते हैं।
Mixin MA {
foo():void {
print 'hello'
}
}
Mixin MB {
foo():void {
print 'bye'
}
}
Trait TA {
foo():void {
print 'hello'
}
}
Trait TB {
foo():void {
print 'bye'
}
}
mixins में वर्ग C mixins MA, MB
रचना में संघर्ष परोक्ष हल कर रहे हैं।
Class C mixins MA, MB {
bar():void {
foo();
}
}
यह लक्षण का उपयोग करते समय, रचना वर्ग संघर्ष को सुलझाने के लिए है दूसरी ओर से MA
foo():void
कॉल करेंगे।
Class C mixins TA, TB {
bar():void {
foo();
}
}
यह कोड संघर्ष बढ़ाएगा (foo():void
की दो परिभाषाएं)।
विज्ञापन 3. एक विधि है कि क्या यह एक विशेषता में या एक वर्ग विशेषता का उपयोग करता है में परिभाषित किया गया है की निर्भर नहीं करता है के शब्दों।
दूसरे शब्दों में, इससे कोई फर्क नहीं पड़ता कि वर्ग में ट्रैट्स या ट्रेट्स कोड शामिल हैं, कक्षा में "कॉपी - पेस्ट" है।
इन पृष्ठों डी प्रोग्रामिंग भाषा में अंतर की व्याख्या। इस संदर्भ में
mixins जेनरेट कर दिए कोड हैं, और फिर संकलन के दौरान कोड में उस बिंदु पर डाला। सरल डीएसएल के लिए काफी आसान है।
लक्षण संकलित-समय बाहरी मान हैं (बाहरी स्रोत से उत्पन्न कोड के बजाए)। अंतर सूक्ष्म है। मिक्सिन तर्क जोड़ते हैं, लक्षण डेटा संकलन-समय प्रकार की जानकारी जैसे डेटा जोड़ते हैं।
रूबी के बारे में ज्यादा पता नहीं है, लेकिन उम्मीद है कि यह कुछ हद तक मदद करता है।
डी में मिक्सिन और लक्षण आमतौर पर कंप्यूटर विज्ञान में शब्दों का क्या अर्थ है उससे अलग हैं। डी में, स्वचालित कोड पीढ़ी के लिए प्रीप्रोसेसर प्राइमेटिव दोनों हैं। अन्य भाषाओं में, वे विरासत तंत्र हैं। डी में नामकरण निर्णय दुर्भाग्यपूर्ण है। – tylerl
+1 मुझे आपका उत्तर बहुत पसंद आया। यह संक्षेप में था और दोनों के बीच अंतर स्पष्ट रूप से वर्णित था। धन्यवाद! – Tower
यदि अनुकरणीय प्रतिक्रियाओं की एक सूची थी, तो यह निश्चित रूप से इस पर होगा। धन्यवाद, जेके_। – Reece
मुझे पता है कि यह एक साल पुरानी तारीख है, लेकिन भविष्य के पाठकों के लिए, रूबी में यह विधि का उपयोग करेगा जो कि आखिरी मॉड्यूल को मिश्रित किया गया था, इसलिए यह फू() फॉर्म को कॉल करेगा() फॉर्म एमबी –