मैंने implicit
को स्काला में टाइपक्लास पैटर्न के लिए दो तरीकों (एक से कम) देखा है।स्कैला अंतर्निहित वस्तु बनाम अंतर्निहित मूल्य
implicit val instance1 = new Typeclass { def do = ??? }
implicit object instance2 extends Typeclass { def do = ??? }
वे अलग कैसे हैं? क्या किसी को निश्चित समय के लिए एक दूसरे को पसंद करना चाहिए? मुझे implicit val
implicit object
से अधिक सामान्य रूप से उपयोग किया जाता है और मुझे अभी तक implicit object
के बारे में कई संसाधन नहीं मिल पाए हैं।
तो, 'वाल्फी' बनाम 'ऑब्जेक्ट' 'ऑब्जेक्ट' का उपयोग करने का निर्णय आलसी या सख्त प्रारंभिकता को पसंद करना है या नहीं? –
यह एक विचार हो सकता है (हालांकि आप हमेशा 'वैल' के साथ आलस्य पाने के लिए 'आलसी मूल्य' का उपयोग कर सकते हैं), लेकिन केवल एक ही नहीं। उदाहरण के लिए, एक 'वाल' सदस्य को सबक्लास में ओवरराइड किया जा सकता है जबकि 'ऑब्जेक्ट' सदस्य नहीं कर सकता है। मुझे यकीन है कि बहुत सारे अंतर हैं। –