inheritance - What does "trait A <: B" mean? -


स्कला में,

  विशेषता A & lt ;: B   

मतलब है? क्या यह केवल

  विशेषता A का विस्तार बी  

?

जोड़ने के लिए संपादित किया गया है: मैं टाइप मापदंडों के लिए वाक्यविन्यास से परिचित हूं, और उस संदर्भ में & lt;: का अर्थ है हालांकि, उपर्युक्त उदाहरण में मुझे यह प्रतीत होता है कि ए विशेषता का नाम घोषित किया गया है, एक प्रकार का पैरामीटर नहीं।

एक ही चीज़ को संकलित करने के लिए लगता है।

  ~ / code / scratch: scala -xprint: typer -e 'trait B; विशेषता ए एंड एलटीः :: 'बी' / 'एसआईपी सार विशेषता बी विस्तारित scala.AnyRef; अमूर्त लक्षण A को java.lang.Object तक फैलाता है। बी ~ / कोड / स्क्रैच: स्कला-एक्सप्रिंट: टाइपर-ए 'गुण बी; विशेषता A का विस्तार बी '/' सीपीयू सार विशेषता बी विस्तारित scala.AnyRef; अमूर्त लक्षण A इस के साथ java.lang.Object को बढ़ाता है। बी  

यह कल्पना "5.3.3 लक्षण" में नहीं समझाता है। लेकिन सिंटेक्स सारांश यह उल्लेख करता है।

  TraitDef :: id = [TypeParamClause] TraitTemplateOpt TraitTemplateOpt :: = TraitTemplate बढ़ाता है | [[Extends] TemplateBody] बढ़ाता है :: = 'विस्तार' | '& Lt ;:'  

UPDATE इसमें शुरू की गई थी कंपाइलर विकल्प -Xexperimental के साथ यह गुण को एक सार के रूप में चिह्नित करता है, प्रस्तावित भाषा सुविधा के साथ उपयोग के लिए। -Xexperimental के बिना, यह 'विस्तार' के लिए एक पर्याय है जो केवल लक्षणों के लिए अनुमति है।


Comments

Popular posts from this blog

asp.net - Change the driver in the connection string to a data source in VB.Net -

Getting started consuming web services in a Ruby on Rails 3 application -

objective c - iPhone and it's wireless area -