मैं स्कैला के बारे में एक पुस्तक पढ़ रहा हूं और स्टैकेबल संशोधनों का उल्लेखगुण का उपयोग कर रहा है। स्टैकेबल संशोधनों और किस उद्देश्य के लिए उनका उपयोग किया जाना है?स्टैकेबल संशोधनों क्या हैं?
उत्तर
मौलिक गुणवत्ता जो स्टेकेबल संशोधनों को अलग करती है (जैसा कि शब्दावली स्केल में भी प्रयोग की जाती है) यह है कि "सुपर" गतिशील रूप से प्रभावित होता है कि विशेषता कैसे मिश्रित होती है, जबकि सामान्य सुपर में एक स्थिर रूप से निर्धारित लक्ष्य होता है।
यदि आप फू "सुपर" के लिए लिखने
abstract class Bar { def bar(x: Int): Int }
class Foo extends Bar { def bar(x: Int) = x }
तो हमेशा बार किया जाएगा।
कि विधि सुपर के लिए अनजान बनी हुई है जब तक कक्षा किया जाता है, तो आप
trait Foo1 extends Foo { abstract override def bar(x: Int) = x + super.bar(x) }
तो लिखें।
trait Foo2 extends Foo { abstract override def bar(x: Int) = x * super.bar(x) }
scala> (new Foo with Foo2 with Foo1).bar(5)
res0: Int = 30
scala> (new Foo with Foo1 with Foo2).bar(5)
res1: Int = 50
यह दिलचस्प क्यों है? एक उदाहरण उदाहरण कुछ डेटा हो सकता है जिसे आप संकुचित करना, एन्क्रिप्ट करना और डिजिटल हस्ताक्षर करना चाहते हैं। फिर आप एन्क्रिप्ट करना चाहते हैं तो फिर एन्क्रिप्ट करना चाहते हैं, या फिर आप एन्क्रिप्ट करना चाहते हैं, फिर संपीड़ित करें, इत्यादि। यदि आप इस तरह से अपने घटकों को डिज़ाइन करते हैं, तो आप एक अनुकूलित ऑब्जेक्ट को तुरंत उसी बिट्स के साथ चालू कर सकते हैं, जिस तरह से आप चाहते हैं कि आप जिस तरह से व्यवस्थित करना चाहते हैं।
सिर्फ "विशेषता Foo1 फू फैलाता है" की बजाय "विशेषता Foo1 बार बार फैली हुई है" के लिए लालित्य के लिए? –
बोरिस - आप बिल्कुल सही हैं, यह केवल वही लिखा गया है क्योंकि मैंने आखिरी मिनट में बार जोड़ा था। – extempore
मैंने Real-World Scala presentation पर देखा जहां शब्द स्टेकेबल संशोधनों का भी उपयोग किया जाता है। स्पष्ट रूप से यह गुण हैं जो ओवरराइड करते समय सुपर विधि को कॉल करते हैं, अनिवार्य रूप से कार्यक्षमता जोड़ते हैं और इसे प्रतिस्थापित नहीं करते हैं। तो आप गुणों के साथ कार्यक्षमता जमा करते हैं, और इसका उपयोग किया जा सकता है जहां जावा में हम अक्सर पहलुओं का उपयोग करते हैं। विशेषता "रोचक" विधियों को ओवरराइड करने और लॉगिंग इत्यादि जैसी विशिष्ट कार्यक्षमता को जोड़ने और फिर श्रृंखला में अगली विशेषता में सुपर और "गेंद को पार करने" को जोड़कर एक पहलू की भूमिका निभाती है। HTH।
स्लाइड्स का एक अद्भुत सेट क्या मिला! – egaga
- 1. यूनिट परीक्षण फ़ाइल संशोधनों
- 2. बफर संशोधनों को हाइलाइट करें
- 3. संशोधनों पर एंड्रॉइड दृश्य कैसे अपडेट करें?
- 4. कई संशोधनों के बाद एसवीएन प्रदर्शन
- 5. एसवीएन स्थानीय संशोधनों के साथ ब्रांचिंग
- 6. डोम संशोधनों के लिए कुशल जावास्क्रिप्ट
- 7. एक भंडार से केवल कुछ एसवीएन संशोधनों को कॉपी करें
- 8. सी # में संरचना संशोधनों में अप्रबंधित स्मृति को प्रभावित करेगा?
- 9. टीएफएस के साथ फाइल संशोधनों का पता कैसे लगाया जाए?
- 10. संशोधनों के बीच परिवर्तन आंकड़े कैसे निर्धारित करें
- 11. फ़ाइल के दो संशोधनों के दृश्य भिन्नता प्राप्त करें
- 12. क्या टीएफएस में स्थानीय काम करते हैं?
- 13. क्या HTTP प्रॉक्सी सर्वर अनुरोध पैकेट संशोधित करते हैं?
- 14. अकेले अन्य संशोधनों को छोड़कर एक फ़ाइल को प्रतिबद्ध करने और धक्का देने का सबसे आसान तरीका क्या है?
- 15. क्या कोई ग्रहण प्लगइन है जो आपको एकाधिक सबवर्सन संशोधनों में एक एकल जावा विधि को अलग करने देगा?
- 16. क्या कॉच डीबी की फ़िल्टर की गई प्रतिलिपि दस्तावेज़ के पिछले 100 संशोधनों को दोहरा सकती है?
- 17. एसवीएन कमांड लाइन से दो संशोधनों के बीच फ़ाइलों को बदलें
- 18. गिट में, मैं पिछले 2+ संशोधनों के लिए एक पैच कैसे बना सकता हूं?
- 19. संशोधनों को खोए बिना प्रतिभा में परिवर्तनकर्ता से फ़ाइलों को कैसे निकालें?
- 20. "गिट रिबेस" मंच और संशोधित प्रति में संशोधनों के विपरीत सेट क्यों छोड़ता है?
- 21. पूर्ण हो जाएं संशोधनों को सक्षम करता है जहां एक विशेष वस्तु प्रभावित होती है
- 22. सबवर्सन: केवल एक क्लाइंट पर स्थानीय रूप से एक फ़ाइल में संशोधनों को अनदेखा करें
- 23. विकास शाखा में किए गए संशोधनों को एक नई गिट-फ्लो फीचर शाखा में ले जाएं?
- 24. संशोधनों के लिए एसवीएन की जांच करते समय क्रूज़ कंट्रोल लटकता है
- 25. क्या कर सकते हैं कि sed क्या कर सकते हैं?
- 26. एचएजी के लिए एडीएक्स-एडिक्स संशोधनों की गलत संख्या के बारे में शिकायत
- 27. दो एसवीएन संशोधनों के बीच बदली गई फ़ाइलों को निर्यात करने के लिए कैसे करें
- 28. क्या फोरट्रान कंपाइलर्स हैं?
- 29. कॉलबैक विधियां क्या हैं?
- 30. निजी एपीआई क्या हैं
पुस्तक इसे विशेषता अध्याय में बताती है। – Rayne