Scala Language
स्वयं प्रकार
खोज…
वाक्य - विन्यास
- विशेषता प्रकार {selfId => / अन्य सदस्यों का उल्लेख कर सकते
selfId
मामले मेंthis
का मतलब है कुछ /} - विशेषता प्रकार {selfId: OtherType => / * अन्य सदस्यों का उपयोग कर सकते
selfId
और यह प्रकार का हो जाएगाOtherType
* / - विशेषता प्रकार {selfId: OtherType2 => / * के साथ OtherType1
selfId
प्रकार का हैOtherType1
औरOtherType2
* /
टिप्पणियों
अक्सर केक पैटर्न के साथ उपयोग किया जाता है।
सरल स्व प्रकार उदाहरण
स्व-प्रकार का उपयोग लक्षण और वर्गों में किया जा सकता है जो कि मिश्रित वर्गों पर अवरोधों को परिभाषित करने के लिए किया जाता है। यह भी के लिए एक अलग पहचानकर्ता उपयोग करना संभव है this
इस वाक्य रचना (उपयोगी एक आंतरिक वस्तु से संदर्भित किया जा करने के लिए जब बाहरी वस्तु है) का उपयोग कर।
मान लें कि आप कुछ वस्तुओं को संग्रहीत करना चाहते हैं। उसके लिए, आप भंडारण के लिए इंटरफेस बनाते हैं और एक कंटेनर में मान जोड़ते हैं:
trait Container[+T] {
def add(o: T): Unit
}
trait PermanentStorage[T] {
/* Constraint on self type: it should be Container
* we can refer to that type as `identifier`, usually `this` or `self`
* or the type's name is used. */
identifier: Container[T] =>
def save(o: T): Unit = {
identifier.add(o)
//Do something to persist too.
}
}
इस तरह से वे एक ही वस्तु पदानुक्रम में नहीं हैं, लेकिन PermanentStorage
Container
लागू किए बिना लागू नहीं किया जा सकता है।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow