C# में एब्सट्रैक्ट क्लास क्या है? | परिभाषा, गुण बनाम उदाहरण

प्रोग्रामिंग में अमूर्तन का तात्पर्य अनावश्यक, भले ही अत्यधिक महत्वपूर्ण, जानकारी को छिपाना और उपयोगकर्ता को केवल कुछ महत्वपूर्ण या अपेक्षित जानकारी को दृश्यमान बनाना है। यह अमूर्त वर्गों के उपयोग के माध्यम से संभव हुआ है।

C# में सार वर्ग अनिवार्य रूप से एक वर्ग है जो ऑब्जेक्ट निर्माण की अनुमति नहीं देता है। 'सार' एक कीवर्ड या संशोधक है जो उस विशेष वर्ग या विधि को अमूर्त या प्रतिबंधित बनाता है। एक अमूर्त वर्ग तक केवल एक अलग वर्ग से विरासत के माध्यम से ही पहुंचा जा सकता है।

चाबी छीन लेना

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

C# में सार वर्ग के गुण और घटक

किसी अमूर्त वर्ग को शुरू करने या उस तक पहुंचने के लिए कुछ कारकों का होना आवश्यक है। उन्हें इस प्रकार सूचीबद्ध किया गया है।

  1. एक अमूर्त वर्ग एक बेस क्लास बनाता है जिसे आमतौर पर कई व्युत्पन्न वर्गों द्वारा एक्सेस किया जाता है। प्रोग्रामर को एक अमूर्त वर्ग का उपयोग या कार्यान्वयन करने के लिए एक व्युत्पन्न वर्ग बनाना होगा।
  2. इस प्रकार, अमूर्त वर्ग को उपवर्गों द्वारा विरासत में प्राप्त करना पड़ता है, जो फ़ंक्शन को ओवरराइड भी कर सकता है।
  3. प्रत्येक अमूर्त वर्ग को कम से कम एक अमूर्त विधि की आवश्यकता होती है।

C# में एक अमूर्त वर्ग का उदाहरण

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

यह भी पढ़ें:  कैश बनाम कुकीज़: अंतर और तुलना

मान लीजिए कि एक वर्ग 'ट्री' मौजूद है, जिसकी मौजूदा डिज़ाइन विधि 'प्रकार' के नाम से जानी जाती है। और कुछ भी परिभाषित नहीं किया गया है, और कोई अन्य विशेष जानकारी प्रदान नहीं की गई है - कोई भी पेड़ के प्रकार या संभावित प्रकारों को नहीं जानता है।

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

C# में अमूर्त वर्ग के लाभ

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

C# में अमूर्त वर्ग के नुकसान

  1. एक अमूर्त वर्ग को वर्ग पदानुक्रम में केवल तभी जोड़ा जा सकता है जब कोई अमूर्त वर्ग मौजूद न हो।
  2. किसी भी अमूर्त वर्ग की वस्तुओं को केवल संदर्भित किया जा सकता है, कभी बनाया नहीं जा सकता।
  3. भले ही अमूर्त वर्गों को तत्काल नहीं किया जा सकता है, यह स्थैतिक चर या विधियों की अनुमति नहीं देता है।
संदर्भ
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
यह भी पढ़ें:  कार्डानो बनाम डॉगकॉइन: अंतर और तुलना

अंतिम अद्यतन: 11 जून, 2023

बिंदु 1
एक अनुरोध?

मैंने आपको मूल्य प्रदान करने के लिए इस ब्लॉग पोस्ट को लिखने में बहुत मेहनत की है। यदि आप इसे सोशल मीडिया पर या अपने मित्रों/परिवार के साथ साझा करने पर विचार करते हैं, तो यह मेरे लिए बहुत उपयोगी होगा। साझा करना है ♥️

23 विचार "C# में एब्सट्रैक्ट क्लास क्या है?" | परिभाषा, गुण बनाम उदाहरण”

  1. मुझे यह पोस्ट इसकी प्रस्तुति में थोड़ी व्यंग्यपूर्ण लगी। हालाँकि, यह स्पष्टीकरण को काफी दिलचस्प बनाता है।

    जवाब दें
  2. यह आलेख प्रोग्रामिंग में अमूर्तता की एक बहुत ही जानकारीपूर्ण व्याख्या प्रदान करता है। मुझे सचमुच यह आकर्षक लगता है।

    जवाब दें
  3. लेख में फायदे और नुकसान को अच्छी तरह से रेखांकित किया गया है। C# में अमूर्त कक्षाओं के बारे में सीखने में रुचि रखने वाले किसी भी व्यक्ति के लिए एक व्यापक संदर्भ।

    जवाब दें
  4. यह लेख न केवल फायदों पर प्रकाश डालता है बल्कि C# में एक अमूर्त वर्ग के नुकसानों को भी शामिल करता है। वास्तव में एक गहन विश्लेषण!

    जवाब दें
  5. विषय को समझाने के लिए इस्तेमाल किया गया हास्यपूर्ण लहजा एक ताज़ा परिप्रेक्ष्य प्रदान करता है। लेखक को साधुवाद!

    जवाब दें
  6. इस लेख का तर्कपूर्ण दृष्टिकोण सचमुच उल्लेखनीय है। यह अवधारणा का एक संतुलित दृष्टिकोण प्रस्तुत करता है।

    जवाब दें
  7. मुझे एक अमूर्त वर्ग को डिज़ाइन करने का लचीलापन बहुत दिलचस्प लगता है। इस लेख ने पक्ष और विपक्ष दोनों को स्पष्ट और समझने योग्य तरीके से प्रस्तुत किया है।

    जवाब दें
  8. मुझे लगता है कि यहां बताए गए फायदे वास्तव में एक अमूर्त वर्ग की उपयोगिता को प्रदर्शित करते हैं। बहुत बढ़िया अंतर्दृष्टि प्रदान की गई।

    जवाब दें

एक टिप्पणी छोड़ दो

क्या आप इस लेख को बाद के लिए सहेजना चाहते हैं? अपने लेख बॉक्स में सहेजने के लिए नीचे दाएं कोने में दिल पर क्लिक करें!