में मैं स्काला में एक वर्ग के लिए एक विधि को जोड़ना चाहते हैं, मैं की तरह कुछ करने की ज़रूरत है RichFoo
उदाहरण और इसकी विधि को कॉल करें।को समझना क्यों "मेरी लाइब्रेरी दलाल" इस तरह से परिभाषित किया गया था स्काला
मैं क्यों यह रूबी के लिए इसी प्रकार परिभाषित नहीं किया गया था समझने के लिए कोशिश कर रहा हूँ:
override class Foo {
def newMethod = bar
}
संकलक इस परिभाषा पर देख सकते हैं, और उस प्रकार फू का एक पैरामीटर हो जाता है स्थिर विधि newMethod के साथ एक FooOverride वर्ग बनाने और इसकी बार विधि कहता है। इस प्रकार स्कैला लक्षणों को लागू करता है। मुझे अभी भी इसका उपयोग करने के लिए फू ओवरराइड युक्त पैकेज आयात करने की आवश्यकता है।
ऐसा लगता है कि इसमें कम टाइपिंग शामिल है, मुझे नामों का आविष्कार करने की आवश्यकता नहीं है, और बेहतर प्रदर्शन (विधि को कॉल करने और ऑब्जेक्ट बनाने) नहीं है। कुछ भी अंतर्निहित रूपांतरण विधि अतिरिक्त विधि के अंदर किया जा सकता है।
मुझे यकीन है कि मुझे कुछ याद आया है और मैं इसमें अंतर्दृष्टि प्राप्त करना चाहता हूं।
करता रूबी वास्तव में बाहर इस मामले में स्काला करते हैं, या आप अटकलें कर रहे हैं कि एक खुला वर्ग कार्यान्वयन एक बंद के रूप में तेजी से बनाया जा सकता है? –
मैं एक मुखौटा का सुझाव देता हूं जो ऐसा लगता है कि आप कक्षा को फिर से खोल रहे हैं, लेकिन वास्तव में केवल स्थिर तरीकों को कॉल करते हैं। स्कैला कंपाइलर हर समय ऐसी चीजें करता है (लक्षण एक इंटरफ़ेस में संकलित होते हैं और स्थिर विधियों वाले वर्ग)। मैं अनुमान लगाता हूं कि मौजूदा अंतर्निहित डीईएस – IttayD