अनुशंसित, 2024

संपादक की पसंद

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

सार वर्ग
एक अमूर्त वर्ग वह है जो केवल अन्य वर्गों का एक आधार वर्ग होने का इरादा रखता है। 'अमूर्त' संशोधक का उपयोग कक्षा को सार बनाने के लिए किया जाता है। एक अमूर्त संशोधक इंगित करता है कि कुछ लापता कार्यान्वयन है जिसे उससे प्राप्त वर्ग में लागू करने की आवश्यकता है। अमूर्त वर्ग में एक सार और गैर-अमूर्त सदस्य हो सकते हैं। एक सार वर्ग में कम से कम एक सार पद्धति होनी चाहिए, अन्यथा, उस वर्ग को 'सार' घोषित करने का कोई फायदा नहीं है।

C # में एब्सट्रैक्ट क्लास का उदाहरण:

सार वर्ग MyCircle {सार सार्वजनिक int क्षेत्र (); } कक्षा MyArea: MyCircle {सार्वजनिक ओवरराइड int Area () {रिटर्न साइड * साइड; .....}}
1 2 3 4 5 6 7 8 9 10 11सार वर्ग MyCircle {सार सार्वजनिक int क्षेत्र (); } कक्षा MyArea: MyCircle {सार्वजनिक ओवरराइड int Area () {रिटर्न साइड * साइड; । । । । । }}

जैसा कि उपरोक्त उदाहरण में दिखाया गया है, MyCircle वर्ग के अंदर का अमूर्त तरीका 'Area ’व्युत्पन्न वर्ग MyArea में ओवरराइड है।

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

C # में एक इंटरफ़ेस का उदाहरण:

System.Collections.Generic का उपयोग कर; System.Linq का उपयोग करना; System.Text का उपयोग कर; नामस्थान MyName {सार्वजनिक इंटरफ़ेस MyData {शून्य getdata (); शून्य शोडेटा (); } सार्वजनिक वर्ग NameData: MyData {सार्वजनिक डबल गेटडाटा () {स्ट्रिंग नाम; Console.WriteLine ("नाम दर्ज करें:"); नाम = Console.ReadLine (); } public void showdata () {Console.WriteLine ("मेरा नाम है:", नाम); }}}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22सिस्टम का उपयोग कर। संग्रह। सामान्य ; सिस्टम का उपयोग कर। लिनक; सिस्टम का उपयोग कर। पाठ; नामस्थान MyName {सार्वजनिक इंटरफ़ेस MyData {शून्य getdata (); शून्य शोडेटा (); } सार्वजनिक वर्ग NameData: MyData {सार्वजनिक डबल गेटडाटा () {स्ट्रिंग नाम; सांत्वना देना। राइटलाइन ("नाम दर्ज करें:"); नाम = सांत्वना। पढ़ने के लिए लाइन ( ) ; } सार्वजनिक शून्य प्रदर्शन () {कंसोल। राइटलाइन ("मेरा नाम है:", नाम); }}}

जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है कि इंटरफ़ेस MyData में दो विधि घोषणापत्र () और शोडेटा () हैं। इस इंटरफ़ेस को लागू करने वाला वर्ग नामडेटा को MyData इंटरफ़ेस में घोषित तरीकों की परिभाषा देनी चाहिए।

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

  1. एक सार वर्ग में सार के साथ-साथ गैर-सार सदस्य भी हो सकते हैं। लेकिन, एक इंटरफ़ेस में, सभी सदस्य स्पष्ट रूप से सार होते हैं और उन्हें व्युत्पन्न वर्ग में ओवरराइड किया जाना चाहिए।
  2. एक वर्ग को कई इंटरफेस विरासत में मिल सकते हैं लेकिन केवल एक सार वर्ग।
  3. एक सार वर्ग में परिभाषा के साथ या उसके साथ तरीके हो सकते हैं। लेकिन, एक इंटरफ़ेस में केवल विधि हस्ताक्षर हो सकते हैं।
  4. एक सार वर्ग पूरी तरह से, आंशिक रूप से या बिल्कुल भी लागू नहीं किया जा सकता है, लेकिन एक इंटरफ़ेस पूरी तरह से लागू किया जाना चाहिए, अर्थात, सभी सदस्यों को व्युत्पन्न वर्ग में परिभाषित किया जाना चाहिए।
  5. एक इंटरफ़ेस में एक्सेस मॉडिफ़ायर नहीं हो सकते हैं, लेकिन एक अमूर्त वर्ग में फ़ंक्शन, गुण या ईवेंट हो सकते हैं।
Top