Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में सिंगलटन क्लास को हमेशा सील क्यों किया जाता है?

सीलबंद कीवर्ड का अर्थ है कि वर्ग को इनहेरिट नहीं किया जा सकता है। कंस्ट्रक्टर को निजी घोषित करने का मतलब है कि क्लास के इंस्टेंस नहीं बनाए जा सकते।

आप एक निजी कंस्ट्रक्टर के साथ एक बेस क्लास रख सकते हैं, लेकिन फिर भी उस बेस क्लास से इनहेरिट कर सकते हैं, कुछ पब्लिक कंस्ट्रक्टर्स को परिभाषित कर सकते हैं, और उस बेस क्लास को प्रभावी ढंग से इंस्टेंट कर सकते हैं।

कंस्ट्रक्टर्स को इनहेरिट नहीं किया जाता है (इसलिए व्युत्पन्न वर्ग में सभी निजी कंस्ट्रक्टर केवल इसलिए नहीं होंगे क्योंकि बेस क्लास करता है), और व्युत्पन्न वर्ग हमेशा बेस क्लास कंस्ट्रक्टर को पहले बुलाते हैं।

सील की गई कक्षा को चिह्नित करने से कोई व्यक्ति आपके सावधानीपूर्वक बनाए गए सिंगलटन वर्ग के इर्द-गिर्द काम करने से रोकता है क्योंकि यह किसी को वर्ग से विरासत में मिलने से रोकता है।

उदाहरण

static class Program {
   static void Main(string[] args){
      Singleton fromStudent = Singleton.GetInstance;
      fromStudent.PrintDetails("From Student");

      Singleton fromEmployee = Singleton.GetInstance;
      fromEmployee.PrintDetails("From Employee");

      Console.WriteLine("-------------------------------------");

      Singleton.DerivedSingleton derivedObj = new Singleton.DerivedSingleton();
      derivedObj.PrintDetails("From Derived");
      Console.ReadLine();
   }
}
public class Singleton {
   private static int counter = 0;
   private static object obj = new object();

   private Singleton() {
      counter++;
      Console.WriteLine("Counter Value " + counter.ToString());
   }
   private static Singleton instance = null;

   public static Singleton GetInstance{
      get {
         if (instance == null)
            instance = new Singleton();
         return instance;
      }
   }

   public void PrintDetails(string message){
      Console.WriteLine(message);
   }

   public class DerivedSingleton : Singleton {
   }
}

  1. एंड्रॉइड में सिंगलटन क्लास का उपयोग कैसे करें?

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

  1. सी # में कंसोल क्लास

    C# में कंसोल क्लास का उपयोग कंसोल अनुप्रयोगों के लिए मानक इनपुट, आउटपुट और त्रुटि स्ट्रीम का प्रतिनिधित्व करने के लिए किया जाता है। आइए C# - . में कंसोल वर्ग के गुणों के कुछ उदाहरण देखें Console.CursorLeft संपत्ति C# में कंसोल के CursorLeft को बदलने के लिए, Console.CursorLeft प्रॉपर्टी का उपयोग कर

  1. हम कक्षाएं क्यों बनाते हैं?

    मेरे पिछले लेख के बाद, हम शून्य का उपयोग क्यों करते हैं, मैंने सोचा कि इस प्रश्न को अन्य चीजों के लिए पूछना एक अच्छा विचार होगा जो हम मानते हैं। लाइक... हम बदसूरत कोड के सिर्फ एक GIGANT बूँद के बजाय कक्षाओं का उपयोग क्यों करते हैं? मौलिक स्तर पर, हम कोड और डेटा को तार्किक इकाइयों में व्यवस्थित कर