c classes objects
यह ट्यूटोरियल सी # क्लास और ऑब्जेक्ट्स को समझाता है। आप C # कक्षा के सदस्यों, बेस क्लास, विधियों, पैरामीटर और उदाहरण के साथ पैरामीटर प्रकार के बारे में जानेंगे:
C # में डेटा टाइप कन्वर्सेशन को हमारे पिछले ट्यूटोरियल में विस्तार से बताया गया था। इस ट्यूटोरियल में, हम C # के सभी वर्गों और वस्तुओं के बारे में विस्तार से जानेंगे।
अधिकांश ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं की तरह ही C # में भी कक्षाओं और ऑब्जेक्ट्स के लिए इनबिल्ट सपोर्ट है।
=> पूर्ण सी # प्रशिक्षण श्रृंखला यहाँ देखें
आप क्या सीखेंगे:
किस प्रकार के ईमेल हैं
C # में क्लासेस और ऑब्जेक्ट्स
एक प्रोग्रामिंग भाषा में एक वस्तु वास्तविक दुनिया की वस्तु के समान है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग एक अवधारणा है जहां प्रोग्राम को प्रोग्राम के विकास और रखरखाव को सरल बनाने के लिए कक्षाओं और वस्तुओं के सेट का उपयोग करके डिज़ाइन किया जाता है।
एक वर्ग समान प्रकार की वस्तुओं का एक तार्किक संग्रह है। यह C # में सबसे मौलिक प्रकारों में से एक है। यह मूल रूप से एक डेटा संरचना है जो मेथड्स, फ़ंक्शंस और फ़ील्ड्स का एक संयोजन है। यह गतिशील उदाहरणों के लिए परिभाषा प्रदान करता है अर्थात् ऐसी वस्तुएँ जिन्हें कक्षा के लिए बनाने की आवश्यकता होती है।
उदाहरण के लिए, यदि आप किसी एप्लिकेशन में किसी छात्र के लिए डेटा एकत्र कर रहे हैं। एक छात्र के कई गुण हो सकते हैं जैसे रोल नंबर, क्लास, सेक्शन, सब्जेक्ट, इत्यादि। इनमें से प्रत्येक प्रॉपर्टी को स्टूडेंट क्लास की प्रॉपर्टी कहा जा सकता है और स्टूडेंट को इन सभी प्रॉपर्टीज का कलेक्शन माना जा सकता है।
तो, यहां एक वर्ग छात्र का प्रतिनिधित्व करता है यानी वस्तुओं और छात्र के गुणों / गुणों के संग्रह को उसकी वस्तुएं कहा जा सकता है। हम आगामी विषयों में इनका विस्तार से अध्ययन करेंगे।
C # में एक कक्षा क्या है?
वर्ग घोषणा के उपयोग से कक्षाएं बनाई जाती हैं। एक वर्ग की घोषणा हेडर के साथ शुरू होती है जो विशेषताओं, संशोधक, वर्ग के नाम आदि को दर्शाती है। घोषणा उस वर्ग के निकाय द्वारा अनुसरण की जाती है जिसमें घुंघराले ब्रेस के बीच सदस्य परिभाषाएँ होती हैं '{' और '}'।
एक वर्ग के भी तरीके हो सकते हैं। एक विधि उन कार्यों को परिभाषित करती है जो एक वर्ग के अंदर किए जा सकते हैं।
आइए, अंकों का सरल योग करने के लिए एक ऑपरेशन बनाएं। इसे करने के लिए हम कक्षा के अंदर एक मुख्य विधि बनाएंगे।
उपरोक्त कोड स्निपेट में हमने क्या किया?
हमने 'छात्र' नाम का एक वर्ग बनाया। फिर हमने विभिन्न मूल्यों के साथ कुछ डेटा चर बनाए। हमने तब एक 'कुल_शब्द' पूर्णांक चर बनाया, जहां हमने दोनों विषयों के अंकों का योग संग्रहीत किया।
ऑब्जेक्ट और क्लास इंस्टेंस
कभी-कभी शब्द वर्ग और वस्तु का परस्पर उपयोग किया जाता है लेकिन दोनों अलग-अलग संस्थाएँ हैं। एक वर्ग वस्तु की परिभाषा है, लेकिन वह वस्तु ही नहीं है। ऑब्जेक्ट को क्लास के एक उदाहरण के रूप में भी जाना जाता है। वर्ग उदाहरण 'नए' ऑपरेटर का उपयोग करके बनाए जाते हैं। एक नया ऑपरेटर एक उदाहरण के लिए मेमोरी आवंटित करता है और इसे शुरू करने के लिए एक कंस्ट्रक्टर को आमंत्रित करता है और एक संदर्भ ऑब्जेक्ट देता है।
उदाहरण के लिए,अगर हम कक्षा के छात्र के लिए एक उदाहरण बनाना चाहते हैं,
Student stu = new Student();
यहां हमने कक्षा 'छात्र' का एक उदाहरण बनाया है और हमने एक संदर्भ वस्तु के रूप में 'स्टू' को परिभाषित किया है।
कक्षा के सदस्य
एक वर्ग के सदस्य स्थिर या उदाहरण प्रकार के हो सकते हैं। उदाहरण के सदस्य वस्तु का एक हिस्सा होते हैं जबकि स्थिर सदस्य वर्ग का हिस्सा होते हैं।
कक्षा के कुछ सदस्यों पर एक नजर डालते हैं:
- खेत: एक वर्ग के अंदर मौजूद चर को क्षेत्र कहा जाता है।
- लगातार: कक्षा के अंदर मौजूद मूल्य।
- तरीके: वर्ग द्वारा की जाने वाली तार्किक क्रियाएं।
- निर्माता: कक्षा के वर्ग या उदाहरण को आरम्भ करने के लिए आवश्यक है।
एक बेस क्लास क्या है?
बेस क्लास एक ऐसा वर्ग है जिसका उपयोग किसी अन्य वर्ग को बनाने या प्राप्त करने के लिए किया जाता है। आधार वर्ग से उत्पन्न होने वाले वर्ग को उपवर्ग या व्युत्पन्न वर्ग कहा जाता है। हालाँकि एक आधार वर्ग किसी भी अन्य वर्ग से विरासत में नहीं मिला है, एक आधार वर्ग से प्राप्त होने वाला वर्ग आधार वर्ग से सभी डेटा और व्यवहार प्राप्त करता है।
शुरुआती के लिए सबसे अच्छा खेल बना सॉफ्टवेयर
बेस क्लास के बाद आने वाले कोलन के साथ क्लास नाम और टाइप पैरामीटर के बाद कीवर्ड क्लास का उपयोग करके एक बेस क्लास निर्दिष्ट किया जा सकता है।
इस प्रकार, उपरोक्त कार्यक्रम में, व्युत्पन्न वर्ग के छात्र को ऑब्जेक्ट और बेस क्लास के गुण यानी क्लासनेम की विरासत मिली। चूंकि व्युत्पन्न वर्ग में बेस क्लास के सभी सदस्य निहित हैं, इसलिए हम बिना किसी उदाहरण के बेस क्लास से 'क्लासनेम' वेरिएबल को प्रिंट करने में सक्षम थे।
हम अपने आगामी ट्यूटोरियल में विरासत पर अधिक चर्चा करेंगे।
तरीकों
विधियाँ वर्ग के सदस्य हैं जो एक तार्किक या कम्प्यूटेशनल क्रिया को कार्यान्वित करते हैं जिसका उद्देश्य वस्तु या वर्ग द्वारा किया जाना है। यदि स्टैटिक विधियाँ परिभाषित की गई हैं, तो उन्हें कक्षा के माध्यम से एक्सेस किया जाता है और सभी इंस्टेंस विधियों को क्लास की एक आवृत्ति का उपयोग करके एक्सेस किया जाता है।
विधियों में ऐसे पैरामीटर भी हो सकते हैं जो चर संदर्भों को विधि में पारित होने का संकेत देते हैं। एक विधि में एक वापसी प्रकार भी हो सकता है जो कम्प्यूटेशनल अंतिम उत्पाद / मूल्य को दर्शाता है जो वापस किया जा सकता है।
विधि के साथ काम करते समय याद रखने के लिए कुछ बिंदु हैं:
- यदि कोई विधि किसी भी मान को वापस नहीं करती है, तो वापसी प्रकार शून्य होना चाहिए।
- विधि का हस्ताक्षर या नाम एक वर्ग के अंदर अद्वितीय होना चाहिए। एक विधि के हस्ताक्षर का अर्थ है विधि के नाम के साथ-साथ पैरामीटर, संशोधक और डेटा प्रकार के पैरामीटर।
पैरामीटर्स क्या हैं?
पैरामीटर वे मान या संदर्भ चर हैं जो विधि को पास किए जाते हैं। पैरामीटर अपने मानों को उन तर्कों से प्राप्त करते हैं जो किसी विशेष विधि को लागू करते समय निर्दिष्ट होते हैं।
पैरामीटर के विभिन्न प्रकार हैं:
- संदर्भ पैरामीटर
- मान पैरामीटर
- आउटपुट पैरामीटर
- एरे पैरामीटर्स
हमारे अधिकांश उदाहरणों में, हम संदर्भ प्रकार या मान प्रकार का उपयोग करेंगे।
आइए इन पर विस्तार से विचार करें।
सेवा मेरे संदर्भ पैरामीटर का उपयोग तब किया जाता है जब आप संदर्भ के माध्यम से तर्क पारित करना चाहते हैं। इसका मतलब यह है कि विधि के पैरामीटर के रूप में तर्क पास के साथ एक चर होना चाहिए और निष्पादन के दौरान, यह चर के मूल्य के भंडारण स्थान का प्रतिनिधित्व करना चाहिए।
द मान पैरामीटर का उपयोग इनपुट मानों को एक तर्क में पास करने के लिए किया जाता है। मान पैरामीटर एक स्थानीय चर को संदर्भित करता है जिसे उस तर्क के प्रारंभिक मूल्य के रूप में पारित किया जाता है जिसे तब पैरामीटर के रूप में पारित किया जाता है।
नीचे दिया गया एक उदाहरण कक्षा, वस्तु, विधियों और पैरामीटर को बेहतर ढंग से समझने के लिए है।
त्वरित सॉर्ट एल्गोरिथ्म c ++
उपरोक्त कोड स्निपेट में हमने क्या किया?
उपर्युक्त कोड स्निपेट में, हमने दो-क्लास यानी 'मार्क्स' और 'स्टूडेंट' को परिभाषित किया है। प्रथम श्रेणी के मार्क्स में 'markRecieve' विधि शामिल है। इस पद्धति में, हमने 'संदर्भ पैरामीटर' को कीवर्ड 'रेफ' द्वारा निरूपित किया है। इस पद्धति में, हमने प्राप्त किए गए दो अंकों के सरल योग का प्रदर्शन किया है और फिर कंसोल पर परिणाम मुद्रित किया है।
अगला, हमारे पास एक छात्र है जिसमें मुख्य विधि है जिसमें से हम मार्क्स वर्ग से विधि को बुलाएंगे। इससे पहले कि हम विधि के लिए एक कॉल करें, हमें क्लास मार्क्स का एक उदाहरण बनाने की आवश्यकता है।
Marks m = new Marks();
एक बार जब हमने कक्षा के लिए एक उदाहरण बनाया है तो हम इस उदाहरण का उपयोग पिछली कक्षा के अंदर मौजूद किसी भी विधि को कॉल करने के लिए कर सकते हैं। जैसा कि हमने विधि में एक संदर्भ पैरामीटर घोषित किया है, हमें एक संदर्भ चर पास करना होगा। ऐसा करने के लिए, हम एक डॉट के बाद घोषित ऑब्जेक्ट का उपयोग करते हैं और फिर उस विधि का नाम जिसे आप वर्ग उदाहरण से एक्सेस करना चाहते हैं।
मापदंडों को ब्रैकेट के अंदर पारित किया जाता है जिसे विधि के नाम के ठीक बाद रखा जाता है। एक अर्धविराम पंक्ति के अंत को दर्शाने के लिए अंत में तैनात है।
m.marksRecieved(ref english, ref maths);
निष्कर्ष
कक्षाएं उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार का खाका हैं। इसका उपयोग समान वस्तुओं को एक साथ समूहित करने के लिए किया जाता है। ऑब्जेक्ट ऐसी इकाइयाँ हैं जो डेटा और कार्यक्षमता को परिभाषित करती हैं। ऑब्जेक्ट रनटाइम इकाई हैं और वर्ग के सभी सदस्यों तक पहुंचने के लिए बनाए गए हैं।
कक्षा के नाम से शुरू होने वाले कीवर्ड 'वर्ग' के साथ शुरू होने वाले वर्ग घोषणा का उपयोग करके नई कक्षा घोषित की जाती है। यह श्रेणी के संशोधक या विशेषताओं को भी निर्दिष्ट कर सकता है। कक्षा के सभी सदस्यों को दो घुंघराले ब्रेसिज़ '{' और '}' के बीच घोषित किया जाता है।
ऑब्जेक्ट का एक उदाहरण 'नया' ऑपरेटर का उपयोग करके बनाया गया है। यह वर्ग के नाम का उपयोग करके निरूपित किया जाता है, जिसके लिए आवृत्ति को संदर्भ के रूप में संग्रहीत करने के लिए चर के बाद बनाया जा रहा है, फिर '=' के बराबर हस्ताक्षर करने के लिए 'नया' कीवर्ड और उसके बाद फिर से वर्ग के नाम के बराबर होता है दोनों खुले और बंद कोष्ठक '()'।
नमूना कोड:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication4 { class Marks { public void marksRecieved(ref int eng, ref int math) { //logical operations int total = eng + math; Console.WriteLine('Total mark is' + ' ' + total); Console.ReadLine(); } } class Student { public static void Main(string() args) { /* local variable definition */ int english = 90; int maths = 85; //defining the object for the class marks Marks m = new Marks(); //calling marks total method for calculation m.marksRecieved(ref english, ref maths); } } }
=> यहाँ आसान सी # प्रशिक्षण गाइड के लिए देखो
अनुशंसित पाठ
- उदाहरणों के साथ पायथन डेटटाइम ट्यूटोरियल
- उदाहरण के साथ जावा इंटरफेस और एब्सट्रैक्ट क्लास ट्यूटोरियल
- शुरुआती के लिए गहराई से ग्रहण ट्यूटोरियल
- उदाहरणों के साथ यूनिक्स शैल स्क्रिप्टिंग ट्यूटोरियल
- सेलेनियम उदाहरणों के साथ पाठ ट्यूटोरियल द्वारा तत्व का पता लगाएं
- C ++ में क्लास और ऑब्जेक्ट
- हाथों पर उदाहरण के साथ अजगर मुख्य समारोह ट्यूटोरियल
- पायथन OOPs अवधारणाओं (पायथन क्लासेस, ऑब्जेक्ट्स और इनहेरिटेंस)