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

जावा और सी # में इंटरफ़ेस और सार वर्ग के बीच अंतर


इस पोस्ट में, हम Java और C# में एब्स्ट्रैक्ट क्लास और इंटरफेस के बीच के अंतर को समझेंगे।

सार वर्ग

  • इसमें घोषणा और परिभाषा भाग शामिल है।

  • अमूर्त वर्ग का उपयोग करके एकाधिक वंशानुक्रम को लागू नहीं किया जा सकता है।

  • इसमें कंस्ट्रक्टर होता है।

  • इसमें कुछ स्थिर सदस्य भी हो सकते हैं।

  • इसमें सार्वजनिक, निजी, संरक्षित जैसे कई प्रकार के एक्सेस संशोधक शामिल हो सकते हैं।

  • अमूर्त वर्ग का प्रदर्शन बहुत अच्छा है, क्योंकि यह तेज़ है।

  • इसका उपयोग किसी वर्ग की मूल पहचान/कार्यक्षमता को लागू करने के लिए किया जाता है।

  • एक वर्ग केवल एक अमूर्त वर्ग का उपयोग कर सकता है।

  • यदि कई कार्यान्वयन समान हैं, और उनका व्यवहार समान है, तो एक अमूर्त वर्ग का उपयोग करने का सुझाव दिया जाता है।

  • एब्सट्रैक्ट क्लासेस में मेथड्स, फील्ड्स, कॉन्स्टेंट्स होते हैं।

  • इसे पूरी तरह से लागू किया जा सकता है, आंशिक रूप से लागू किया जा सकता है या लागू भी नहीं किया जा सकता है।

इंटरफ़ेस

  • इसमें केवल एक घोषणा भाग होता है।

  • इंटरफ़ेस का उपयोग करके एकाधिक वंशानुक्रम प्राप्त किया जा सकता है।

  • इसमें कंस्ट्रक्टर नहीं है।

  • इसमें स्थिर सदस्य नहीं होते हैं।

  • इसमें सार्वजनिक पहुंच संशोधक शामिल है क्योंकि इंटरफ़ेस में सब कुछ सार्वजनिक माना जाता है।

  • इंटरफ़ेस का प्रदर्शन अच्छा नहीं है।

  • यह धीमा है क्योंकि इसे संबंधित वर्ग में वास्तविक विधि खोजने के लिए समय चाहिए।

  • इसका उपयोग किसी वर्ग की परिधीय क्षमताओं को लागू करने के लिए किया जाता है।

  • यह एकाधिक इंटरफ़ेस का उपयोग कर सकता है।

  • यदि एकाधिक कार्यान्वयन विधियों को साझा करते हैं, तो 'इंटरफ़ेस' का उपयोग किया जा सकता है।

  • इंटरफ़ेस में केवल विधियाँ हो सकती हैं।

  • इसे पूरी तरह लागू करने की जरूरत है।


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

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

  1. एक अमूर्त वर्ग का उपयोग कब करें और जावा में इंटरफ़ेस का उपयोग कब करें?

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

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

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