कार्यक्रम उदाहरण के साथ सी # एक्सेस मॉडिफायर (स्पेसिफायर)

विषय - सूची:

Anonim

इस ट्यूटोरियल में, आप सीखेंगे-

  • एक्सेस मॉडिफायर
  • निर्माता

एक्सेस मॉडिफायर

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

C # में 3 तरह के एक्सेस मॉडिफायर हैं। हम नीचे उदाहरण के रूप में कार्यक्रम उदाहरण के साथ सी # में एक्सेस संशोधक सीखेंगे।

निजी एक्सेस संशोधक

जब C # में यह एक्सेस स्पेसियर किसी प्रॉपर्टी या किसी विधि से जुड़ा होता है, तो इसका मतलब है कि उन सदस्यों को किसी भी बाहरी प्रोग्राम से एक्सेस नहीं किया जा सकता है।

आइए एक उदाहरण लेते हैं और देखते हैं कि जब हम निजी एक्सेस संशोधक का उपयोग करते हैं तो क्या होता है।

चलिए हमारे Tutorial.cs फ़ाइल में वर्तमान कोड को संशोधित करते हैं। SetTutorial विधि में, सार्वजनिक कीवर्ड को निजी में बदलते हैं।

अब हमारे Program.cs फ़ाइल पर स्विचओवर करते हैं। आप देखेंगे कि SetTutorial विधि के तहत एक लाल स्क्वीजी लाइन है।

चूंकि हमने अब अपने ट्यूटोरियल क्लास में SetTutorial विधि को निजी घोषित कर दिया है, विजुअल स्टूडियो ने इसका पता लगाया है। इसने इसे उजागर करके उपयोगकर्ता को बताया है कि अब यह तरीका Program.cs फ़ाइल से काम नहीं करेगा।

सार्वजनिक पहुँच संशोधक

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

चूंकि हमने अपने तरीकों को ट्यूटोरियल क्लास में सार्वजनिक किया है, इसलिए उन्हें Program.cs फ़ाइल से एक्सेस किया जा सकता है।

संरक्षित पहुँच संशोधक

जब यह एक्सेस संशोधक किसी संपत्ति या विधि से जुड़ा होता है, तो इसका मतलब है कि उन सदस्यों को केवल वर्तमान वर्ग से विरासत में प्राप्त वर्गों द्वारा एक्सेस किया जा सकता है। इसे वंशानुक्रम वर्ग में और अधिक विस्तार से समझाया जाएगा।

सी # कंस्ट्रक्टर

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

निर्माण की विधियों के बारे में निम्नलिखित मुख्य बातों पर ध्यान दिया जाना चाहिए

  1. कंस्ट्रक्टर के लिए C # डिफ़ॉल्ट एक्सेस संशोधक को सार्वजनिक करने की आवश्यकता है।
  2. कंस्ट्रक्टर विधि के लिए कोई रिटर्न प्रकार नहीं होना चाहिए।

आइए अब देखते हैं कि हम अपने कोड में निर्माणकर्ताओं के उपयोगकर्ता को कैसे शामिल कर सकते हैं। जब निर्माण होता है तो हम कुछ डिफ़ॉल्ट मानों के लिए TutorialID और TutorialName फ़ील्ड को इनिशियलाइज़ करने के लिए कंस्ट्रक्टर का उपयोग करेंगे।

चरण 1) पहला चरण हमारे ट्यूटोरियल वर्ग के लिए कंस्ट्रक्टर बनाना है। इस चरण में, हम नीचे दिए गए कोड को Tutorial.cs फ़ाइल में जोड़ते हैं।

कोड स्पष्टीकरण: -

  1. हम पहले एक नया तरीका जोड़ते हैं जिसका नाम कक्षा के समान है। क्योंकि यह क्लास के समान नाम है, C # इसे कंस्ट्रक्टर विधि के रूप में मानता है। इसलिए अब जब भी कॉलिंग विधि इस वर्ग का ऑब्जेक्ट बनाती है, तो यह विधि डिफ़ॉल्ट रूप से कॉल की जाएगी।
  2. ट्यूटोरियल कंस्ट्रक्टर में, हम TutorialID का मान 0 और TutorialName को "डिफ़ॉल्ट" पर सेट कर रहे हैं। इसलिए जब भी कोई वस्तु बनाई जाती है, तो इन फ़ील्ड्स में हमेशा ये डिफ़ॉल्ट मान होंगे।

अब हम अपने Program.cs फ़ाइल पर स्विचओवर करते हैं और बस उस लाइन को हटा देते हैं, जिसे SetTutorial विधि कहते हैं। यह इसलिए है क्योंकि हम यह देखना चाहते हैं कि कंस्ट्रक्टर कैसे काम करता है।

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{public int TutorialID;public string TutorialName;public Tutorial(){TutorialID=0;TutorialName="Default";}public void SetTutorial(int pID,string pName){TutorialID=pID;TutorialName=pName;}public String GetTutorial(){return TutorialName;}static void Main(string[] args){Tutorial pTutor=new Tutorial();Console.WriteLine(pTutor.GetTutorial());Console.ReadKey();}}}

कोड स्पष्टीकरण: -

  1. ट्यूटोरियल क्लास के लिए ऑब्जेक्ट बनाने के लिए पहला कदम है। यह 'नए' कीवर्ड के माध्यम से किया जाता है।
  2. हम TutorialName प्राप्त करने के लिए ट्यूटोरियल क्लास के गेटटाइपर विधि का उपयोग करते हैं। इसके बाद कंसोल को कंसोल के माध्यम से प्रदर्शित किया जाता है। लाइट विधि।

यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम निष्पादित किया गया है, तो निम्न आउटपुट प्रदर्शित किया जाएगा।

आउटपुट:

आउटपुट से, हम देख सकते हैं कि कंस्ट्रक्टर को वास्तव में बुलाया गया था और ट्यूटोरियलनेम का मान "डिफ़ॉल्ट" पर सेट किया गया था।

नोट: यहां मूल्य "डिफ़ॉल्ट" को कंस्ट्रक्टर से लिया गया है।

सारांश

  • सी # एक्सेस मॉडिफायर या एक्सेस स्पेसिफिकर्स का इस्तेमाल क्लास प्रॉपर्टी या मेथड की विजिबिलिटी को परिभाषित करने के लिए किया जाता है।
  • जब भी कोई ऑब्जेक्ट बनाया जाता है, तब क्लास के खेतों को इनिशियलाइज़ करने के लिए कंस्ट्रक्टर का उपयोग किया जाता है।
  • कंस्ट्रक्टर एक ऐसी विधि है, जिसमें कक्षा के समान ही नाम हैं।