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

Java और C# में इंटरफेस और एब्स्ट्रैक्ट क्लास के बीच अंतर


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

एब्स्ट्रैक्ट क्लास

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

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

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

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

  • इसमें public, private, protected जैसे कई प्रकार के एक्सेस मॉडिफायर्स हो सकते हैं।

  • एब्स्ट्रैक्ट क्लास का प्रदर्शन बहुत अच्छा होता है, क्योंकि यह तेज़ है।

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

  • एक क्लास केवल एक एब्स्ट्रैक्ट क्लास का उपयोग कर सकती है।

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

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

  • यह पूरी तरह से लागू, आंशिक रूप से लागू या बिल्कुल भी लागू नहीं हो सकती।

इंटरफेस

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

  • इंटरफेस का उपयोग करके मल्टीपल इनहेरिटेंस प्राप्त किया जा सकता है।

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

  • इसमें स्टेटिक सदस्य नहीं होते।

  • इसमें public एक्सेस मॉडिफायर होता है क्योंकि इंटरफेस में सब कुछ public माना जाता है।

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

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

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

  • यह मल्टीपल इंटरफेस का उपयोग कर सकती है।

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

  • इंटरफेस में केवल मेथड्स हो सकते हैं।

  • इसे पूरी तरह से लागू करने की आवश्यकता होती है।

  1. - जावा में Thread और Runnable के बीच अंतर

    थ्रेड एक्जीक्यूशन का नया थ्रेड बनाने के दो तरीके हैं। एक है Thread क्लास का सबक्लास घोषित करना। इस सबक्लास को Thread क्लास के run मेथड को ओवरराइड करना चाहिए। सबक्लास का इंस्टेंस तब एलोकेट और स्टार्ट किया जा सकता है। थ्रेड बनाने का दूसरा तरीका है Runnable इंटरफेस को इम्प्लीमेंट करने वाली क्लास घोषित

  1. - Java में एब्सट्रैक्ट क्लास कब उपयोग करें और इंटरफेस कब उपयोग करें?

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

  1. - एब्स्ट्रैक्ट क्लास और इंटरफेस में अंतर

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