मैं स्कैला से शुरू कर रहा हूं और मुझे यह थोड़ा अजीब मिला। जावा में मैं कुछ इस तरह कर सकता है:कक्षाएं जो अन्य वर्गों को विस्तारित नहीं करती हैं, उन्हें लक्षणों से क्यों बढ़ाया जाना चाहिए? (काम नहीं करता है)
interface Foo{}
public class Bar implements Foo{}
मैं स्काला के साथ इसी तरह कुछ करने के लिए कोशिश कर रहा हूँ, लेकिन यह काम नहीं करता है: मैं का उपयोग करने के
trait Foo;
class Bar with Foo; // This doesn't work!
"फैली" कीवर्ड :
class Bar extends Foo; // This works OK!
अब, यह ठीक है, लेकिन यह वही नहीं है जो मैं चाहता था।
एक और बात अजीब मैं ने कहा कि स्काला में हर वर्ग को देखते हुए (scala-lang.org से इस छवि को देखें: http://www.scala-lang.org/sites/default/files/images/classhierarchy.png) AnyRef तक फैली हुई है मैं यह कर सकते हैं:
class Bar extends AnyRef with Foo; // This works too!
तो, मैं क्या याद आ रही है ? इसे विस्तारित किए बिना एक विशेषता का उपयोग करने के लिए समझ में नहीं आता है?
धन्यवाद!
अच्छी व्याख्या, धन्यवाद! – santiagobasulto