मैं जानना चाहता हूं कि एक सिंगलटन वर्ग क्यों सील करनी चाहिए। अगर हम कन्स्ट्रक्टर को निजी के रूप में दे रहे हैं तो हम कक्षा को सही तरीके से प्राप्त करने से रोक सकते हैं? .. नीचे मैं एमएसडीएन से कुछ लाइनों को चिपका रहा हूं। कृपया मुझे कुछ रंग दें ..सिंगलटन कक्षा क्यों सील करनी चाहिए?
इस रणनीति में, उदाहरण पहली बार बनाया गया है जब कक्षा के किसी भी सदस्य का संदर्भ दिया जाता है। सामान्य भाषा रनटाइम वैरिएबल प्रारंभिकता का ख्याल रखता है। वर्ग व्युत्पन्न को रोकने के लिए बंद कर दिया गया है, जो उदाहरण जोड़ सकता है। एक वर्ग मुहरबंद चिह्नित करने के पेशेवरों और विपक्ष की चर्चा के लिए, [Sells03] देखें। इसके अतिरिक्त, चर को केवल पढ़ने के लिए चिह्नित किया गया है, जिसका अर्थ यह है कि इसे केवल स्थिर प्रारंभिक (जो यहां दिखाया गया है) या कक्षा निर्माणकर्ता के दौरान असाइन किया जा सकता है।
http://msdn.microsoft.com/en-us/library/ff650316.aspx
यदि आप व्युत्पन्न वर्ग के पास निजी कन्स्ट्रक्टर * तक पहुंच है तो आप केवल बेस क्लास * से प्राप्त कर सकते हैं। मेरे उत्तर को एकमात्र तरीके से देखें जिसमें यह व्यवहार्य है। BaseClass { सार्वजनिक शून्य प्रदर्शन() { कंसोल: –
हालांकि मैं {() { } निजी BaseClass} वर्ग derrived निम्नलिखित कोड वर्ग BaseClass निर्माण करने में सक्षम नहीं हूँ।लिखित रेखा ("वंचित कक्षा में"); } } और मुझे बेसक्लस.बेस क्लास() 'जैसे त्रुटि प्राप्त हो रही है इसके सुरक्षा स्तर – Anish