Wednesday, October 20, 2021

C# Class As a Type in Hindi

C# एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है जिसके अंतर्गत ऑब्जेक्ट पूरे प्रोग्रामिंग का केंद्र बिंदु होता है। ऑब्जेक्ट के इर्द-गिर्द प्रोग्राम के सारे कोड लिखे जाते हैं। ऑब्जेक्ट ओरिएंटेड करने का अभिप्राय यहीं है कि कई सारे ऑब्जेक्टस ही मिल कर प्रोग्राम की दिशा को तय करे।

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में ऑब्जेक्ट प्रोग्राम की फंडामेंटल इकाई होती है। जिस प्रकार एक बिल्डिंग का निर्माण ईंटों से होता है, ठीक उसी प्रकार, ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अंतर्गत ऑब्जेक्ट प्रोग्राम का फंडामेंटल बिल्डिंग ब्लॉक होता है।

जिस प्रकार भट्टी के भीतर ईटों का निर्माण करने के लिए ईटों का टेंपलेट या साँचा होता है, ठीक उसी तरह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अंतर्गत ऑब्जेक्ट का निर्माण करने के लिए टेंपलेट होता है जिसे प्रोग्रामिंग की भाषा में क्लास कहते हैं। 

क्लास एक टेंपलेट या टाइप होता है जिसकी सहायता से प्रोग्रामिंग के ऑब्जेक्ट्स का निर्माण किया जाता है।
ऐसे तो आपने कई प्रकार के built-in पूर्वनिर्मित डाटा टाइप्स का अध्ययन किया है जैसे Integer, String, Boolean इत्यादि। यह अलग-अलग डाटा टाइप इस बात को बताते हैं कि किस प्रकार के डाटा को एक टाइप का वेरिएबल स्वीकार करेगा और किस प्रकार का ऑपरेशन उस डाटाटाइप के वेरिएबल के साथ हो सकता है। लेकिन ये सारे डाटा टाइप बने बनाए टाइप होते हैं जबकि क्लास एक ऐसा टाइप है जो प्रोग्रामर के द्वारा अपनी आवश्यकता के अनुसार बनाया जाता है। क्लास ऑब्जेक्ट बनाने की सुविधा प्रदान करता है। क्लास एक ऐसा टेंप्लेट या सांचा है जो डाटा को स्टोर करने के लिए वेरिएबल्स या फील्ड्स प्रदान करता है। साथ ही यह कई सारे मेथड्स का समुच्चय भी है जिनके द्वारा उन डाटा या वेरिएबल्स या फील्ड्स के ऊपर कार्य किया जा सकता है।

दूसरे शब्दों में क्लास एक टेम्पलेट या टाइप है जो फ़ील्ड्स और मेथड्स का समुच्चय है जिसमें फ़ील्ड्स का उपयोग क्लास के द्वारा बने ऑब्जेक्ट की डाटा को संचित करने के लिए किया जाता है जबकि मेथड्स का उपयोग उस डाटा के ऊपर वर्क कर manipulation के लिए किया जाता है।

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

प्रोग्रामिंग का उद्देश्य किसी बिजनेस की समस्या को हल करना होता है। किसी बिजनेस की समस्या को हल करने के लिए उस बिजनेस से जुड़े हुए विभिन्न प्रकार के entities जिनको की बिजनेस objects भी कहते हैं, की पहचान करनी होती है। बिजनेस entities की पहचान के तदोपरांत एंटिटीज के attributes अर्थात विशेषताओं को रेखांकित करना होता है, जो उस बिजनेस की समस्या से जुड़े हुए हैं।

जब हम RDBMS रिलेशनल डेटाबेस मॉडल को तैयार करते हैं तो उसमें हम डेटाबेस objects जिन्हें एंटिटीज कहते हैं, को इसी तरह तय करते हैं। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अंतर्गत भी यही होता है, यहां भी हमें बिजनेस के entities को निर्धारित करना होता है और ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की भाषा में entity को object कहते हैं और entity set को class कहते हैं।

उदाहरण के लिए किसी स्कूल मैनेजमेंट सिस्टम के अंतर्गत कई प्रकार के एंटिटीज या ऑब्जेक्टस होते हैं जैसे टीचर स्टूडेंट स्टाफ इत्यादि। एक स्कूल में कई सारे टीचर होते हैं लेकिन उन सभी टीचर की कुछ खास विशेषताएं होती है जैसे टीचर का नाम, उम्र, क्वालिफिकेशन, सैलरी, जॉइनिंग तिथि इत्यादि। इन विशेषताओं के आधार पर हम टीचर क्लास को C# के अंतर्गत निम्नलिखित प्रकार से दर्शा सकते हैं।

public class Teacher
{
int Id;
string Name;
int Age;
string Qualification;
string JoiningDate;
}

ध्यान दीजिए कि क्लास के भीतर किसी शिक्षक विशेष का नाम, उम्र, क्वालिफिकेशन इत्यादि नहीं दिया जाता है। यह तो एक क्लास से बने ऑब्जेक्ट के डाटा होते हैं। एक क्लास बनाने के लिए प्रोग्रामर को C# प्रोग्रामिंग के अंतर्गत class कीवर्ड के बाद क्लास का यथोचित नाम लिखना पड़ता है। क्लास के नामकरण के सम्बंध में कुछ नियमों का पालन करना पड़ता है। क्लास एक टाइप है। किसी टाइप के मेम्बर्स को C# के अंतर्गत आमतौर पर { } के भीतर रखा जाता है। 

ऊपर दर्शाया गया क्लास अधूरा है, एक क्लास के भीतर केवल डाटा नहीं होता है, उसमें ऐसे मेथड्स भी होते हैं जो उस क्लास के डाटा पर वर्क करते हैं।

उदाहरण के लिए, अगर शिक्षक अपनी योग्यता को बढ़ा लेता है तो उसके क्वालिफिकेशन में भी परिवर्तन करना होगा। क्वालिफिकेशन नामक फील्ड के वैल्यू में परिवर्तन के कार्य को सम्पन्न करने के लिए हमें मेथड की जरूरत पड़ेगी जो नीचे के उदाहरण में दिखलाया गया है 
public class Teacher
{
int Id;
string Name;
int Age;
string Qualification;
string JoiningDate;

public string ChangedQualification( string newQualification )
{
// Logic to change Qualification
}
}
किसी क्लास का मेथड्स उस क्लास के ऑब्जेक्ट्स के व्यवहार को निर्धारित करता है।

© अजीत कुमार, सर्वाधिकार सुरक्षित।

इस आलेख को उद्धृत करते हुए इस लेख के लिंक का भी विवरण दें। इस आलेख को कॉपीराइट सूचना के साथ यथावत साझा करने की अनुमति है। कृपया इसे ऐसे स्थान पर साझा न करें जहाँ इसे देखने के लिए शुल्क देना पडे।

२१ अक्टूबर २०२१ गुरुवार

No comments:

Post a Comment

Hot Topics