Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

स्कैला में लक्षणों और सार वर्गों के बीच अंतर।

लक्षण

लक्षण जावा में इंटरफेस के समान हैं और विशेषता कीवर्ड का उपयोग करके बनाए गए हैं।

सार वर्ग

एब्सट्रैक्ट क्लास जावा में एब्सट्रैक्ट क्लासेस के समान है और इसे एब्सट्रैक्ट कीवर्ड का उपयोग करके बनाया गया है।

उदाहरण

स्काला में लक्षणों और सार वर्गों के उपयोग को दिखाने के लिए निम्नलिखित कार्यक्रम है।

trait SampleTrait {
   // Abstract method
   def test

   // Non-Abstract method
   def tutorials() {
      println("Traits tutorials")
   }
}

abstract class SampleAbstractClass {
   // Abstract method
   def test

   // Non-abstract meythod
   def tutorials() {
      println("Abstract Class tutorial")
   }
}

class Tester extends SampleAbstractClass {
   def test() {
      println("Welcome to Tutorialspoint")
   }
}

class TraitTester extends SampleTrait {
   def test() {
      println("Welcome to Tutorialspoint")
   }
}

object HelloWorld {
   // Main method
   def main(args: Array[String]) {
      var obj = new Tester()
      obj.tutorials()
      obj.test()
      var obj1 = new TraitTester()
      obj1.tutorials()
      obj1.test()
   }
}

आउटपुट

Abstract Class tutorial
Welcome to Tutorialspoint
Traits tutorials
Welcome to Tutorialspoint

स्काला में लक्षणों और सार वर्गों के बीच कुछ महत्वपूर्ण अंतर निम्नलिखित हैं।

<टेबल> <थेड> सीनियर। नहीं. <वें शैली="पाठ्य-संरेखण:केंद्र;">कुंजी <वें शैली="पाठ्य-संरेखण:केंद्र;">विशेषता <वें शैली="पाठ्य-संरेखण:केंद्र;">सार वर्ग 1 एकाधिक विरासत विशेषता एकाधिक वंशानुक्रम का समर्थन करती है। सार वर्ग केवल एकल वंशानुक्रम का समर्थन करता है। 2 उदाहरण ऑब्जेक्ट इंस्टेंस में विशेषता जोड़ी जा सकती है। एब्स्ट्रैक्ट क्लास को ऑब्जेक्ट इंस्टेंस में नहीं जोड़ा जा सकता। 3 कंस्ट्रक्टर पैरामीटर ट्रेट के कंस्ट्रक्टर में पैरामीटर नहीं हो सकते हैं। एब्स्ट्रैक्ट क्लास में पैरामीटराइज्ड कंस्ट्रक्टर हो सकता है। 4 इंटरऑपरेबिलिटी जावा के साथ लक्षण अंतर-संचालनीय हैं यदि उनका कोई कार्यान्वयन नहीं है। एब्स्ट्रैक्ट क्लास बिना किसी प्रतिबंध के जावा के साथ इंटरऑपरेबल हैं। 5 स्टैकेबिलिटी लक्षण स्टैक करने योग्य होते हैं और गतिशील रूप से बाध्य होते हैं। सार वर्ग स्थिर नहीं हैं और स्थिर रूप से बाध्य हैं।
  1. जावा में वंशानुक्रम और संरचना के बीच अंतर

    रचना एक डिज़ाइन तकनीक है जिसमें आपकी कक्षा में आपकी कक्षा के क्षेत्र के रूप में किसी अन्य वर्ग का उदाहरण हो सकता है। वंशानुक्रम एक ऐसा तंत्र है जिसके तहत एक वस्तु एक वर्ग का विस्तार करके मूल वस्तु के गुणों और व्यवहार को प्राप्त कर सकती है। रचना और वंशानुक्रम दोनों संबंधित वर्ग द्वारा कोड पुन:प्रयोज

  1. जावा में थ्रेड और रननेबल के बीच अंतर

    निष्पादन का एक नया धागा बनाने के दो तरीके हैं। एक वर्ग को थ्रेड वर्ग का उपवर्ग घोषित करना है। इस उपवर्ग को थ्रेड क्लास की रन विधि को ओवरराइड करना चाहिए। उपवर्ग का एक उदाहरण तब आवंटित और शुरू किया जा सकता है। थ्रेड बनाने का दूसरा तरीका एक वर्ग घोषित करना है जो रननेबल इंटरफ़ेस को लागू करता है। वह वर्

  1. अमूर्त वर्ग और इंटरफ़ेस के बीच अंतर

    एक अमूर्त वर्ग में उदाहरण विधियां हो सकती हैं जो एक डिफ़ॉल्ट व्यवहार को लागू करती हैं। एक इंटरफ़ेस केवल स्थिरांक और उदाहरण विधियों की घोषणा कर सकता है, लेकिन डिफ़ॉल्ट व्यवहार को लागू नहीं कर सकता है और सभी विधियां निहित रूप से सार हैं। एक इंटरफ़ेस में सभी सार्वजनिक सदस्य होते हैं और कोई कार्यान्वयन