गैर-तत्काल कक्षा बनाने के तरीके क्या हैं? एक तरीका यह एक सार वर्ग के रूप में घोषित कर रहा है। क्या क्लास कन्स्ट्रक्टर को निजी के रूप में बनाना संभव है? एक मुहरबंद वर्ग, गैर-तत्काल है? और, सी # में ऐसा करने के अन्य तरीके हैं?ऐसी कक्षा घोषित करने के तरीके क्या हैं जिन्हें तत्काल नहीं किया जा सकता है?
उत्तर
एक वर्ग को सार या स्थिर के रूप में चिह्नित करना (वे पारस्परिक रूप से अनन्य हैं) केवल दो तरीके हैं। सभी कन्स्ट्रक्टरों को निजी रूप से चिह्नित करना कक्षा को अनइंस्टेसिटेबल नहीं बनाता है क्योंकि कक्षा अभी भी खुद का निर्माण कर सकती है, और अन्य प्रतिबिंब के माध्यम से ऐसा करने में सक्षम हो सकते हैं।
जैसा कि अन्य लोगों द्वारा उत्तर दिया गया है अमूर्त और स्थिर वर्गों को तत्काल नहीं किया जा सकता है, हालांकि निजी निर्माता के साथ एक वर्ग सार्वजनिक सदस्य समारोह का उपयोग करके किया जा सकता है। इस प्रकार singleton पैटर्न काम करता है
केवल static
यहां पूर्ण समाधान की तरह दिखता है क्योंकि abstract
कक्षा तब भी तत्काल हो सकती है जब उस से प्राप्त होने वाले वर्ग के उदाहरण को तुरंत चालू किया जाता है। परिदृश्य पर विचार करें:
abstract class A { }
class B : A { }
somewhere in code :
B instance = new B(); // this creates instance of class A as well
पीएस पहले मैं पर कि हालांकि abstract sealed
रूप में अच्छी तरह से इस समस्या के लिए समाधान हो सकता है, लेकिन यह बहुत भावना इस तरह के एक निर्माण का उपयोग करने के लिए नहीं है, तो यह भी संकलन नहीं करता है:
Error 1 'A': an abstract class cannot be sealed or static D:\Projects\TEST\Testapp\Program.cs 15 27 ITT.Domain
मैं सहमत हूं। नेट में आप स्ट्रीम इंस्टेंस प्राप्त कर सकते हैं। बेशक यह हमेशा स्ट्रीम के सबक्लास का एक उदाहरण होगा। लेकिन धारा वर्ग के अंदर और स्ट्रीम क्लास के बाहर कोड के लिए उदाहरण अभी भी एक उदाहरण है। –
अमूर्त मुहरबंद क्या है? क्या कोई समझा सकता है कि यह क्या है? – kakkarot
अच्छा इसका उल्लेख है लेकिन अमूर्त मुहरबंद संभव नहीं है। –
आंतरिक कक्षाएं ही दिखाई देते हैं आपकी असेंबली के अंदर और इसलिए इस असेंबली के बाहर तत्काल नहीं किया जा सकता है।
लेकिन जहां तक मुझे पता है, आप अभी भी प्रतिबिंब के माध्यम से एक उदाहरण बना सकते हैं। आप के रूप में उल्लेख किया ऊपर आप के रूप में सार यह घोषणा या एक सार विधि जोड़ सकता है के माध्यम से ReflectionPermission Class
प्रतिबिंब निष्क्रिय कर सकते हैं।
यदि आप सिर्फ एक अनुबंध घोषित करना चाहते हैं, तो आप एक इंटरफ़ेस का उपयोग कर सकते हैं, लेकिन यह बिल्कुल कक्षा नहीं है।
सील मतलब है कि आप इस वर्ग
सिंगलटन कक्षाएं केवल एक बार आवेदन प्रति बनाया जा सकता है के वारिस नहीं कर सकते हैं singleton
- 1. कक्षा 'कक्ष' सार है; तत्काल नहीं किया जा सकता
- 2. तत्काल क्या किया जा सकता है?
- 3. क्या ऐसी समस्याएं हैं जिन्हें पूंछ रिकर्सन का उपयोग करके लिखा नहीं जा सकता है?
- 4. क्यों नलिकाओं को घोषित घोषित नहीं किया जा सकता है?
- 5. क्या ऐसी कक्षा की तरह कुछ है जिसे कार्यान्वित किया जा सकता है?
- 6. तत्काल खिड़की, "अभिव्यक्ति का मूल्यांकन नहीं किया जा सकता है ...."
- 7. क्या कक्षा को जावा में स्थैतिक के रूप में तत्काल किया जा सकता है?
- 8. क्या एक अमूर्त वर्ग को तत्काल किया जा सकता है?
- 9. कक्षा को एम्बेड नहीं किया जा सकता है।
- 10. क्या सी ++ फ़ंक्शन घोषित किया जा सकता है कि वापसी मूल्य को अनदेखा नहीं किया जा सकता है?
- 11. क्या मोनैड हैं जिन्हें एक automaton की तरह इस्तेमाल किया जा सकता है?
- 12. टी-एसक्यूएल की सीमाएं क्या हैं जिन्हें System.Data.SqlClient.SqlCommand ऑब्जेक्ट द्वारा निष्पादित किया जा सकता है?
- 13. डिफ़ॉल्ट मान क्या हैं जिन्हें पर्यावरण को पारित किया जा सकता है। विधि विधि?
- 14. सी # उन प्रकारों के सेट को सीमित क्यों करता है जिन्हें कॉन्स्ट के रूप में घोषित किया जा सकता है?
- 15. क्या ऐसी फ़ाइल बनाना संभव है जिसे कॉपी नहीं किया जा सकता है?
- 16. इंटरफ़ेस केवल शीर्ष-स्तरीय कक्षा में क्यों घोषित किया जा सकता है?
- 17. एक टेलीफोनी कर सकते हैं। फोन ऑब्जेक्ट एसडीके के माध्यम से तत्काल किया जा सकता है?
- 18. एक्सटेंशन के तरीके तत्काल खिड़की
- 19. जावास्क्रिप्ट में वैश्विक स्थिरांक घोषित किया जा सकता है?
- 20. क्या खाली कक्षा घोषित करना बुरा है?
- 21. Cpython में क्या किया जा सकता है जो IronPython में नहीं किया जा सकता है?
- 22. बाहरी निर्भरताओं को कैसे प्रबंधित किया जा रहा है जिन्हें लगातार संशोधित किया जा रहा है
- 23. eclipse में android.support.v7.widget.Toolbar को तत्काल नहीं किया जा सका
- 24. क्या कोई सी ++ कक्षा है जिसका उपयोग एसटीएल में नहीं किया जा सकता है?
- 25. घातक त्रुटि: एमएसएस() में पहले से घोषित नहीं किया जा सकता है (पहले घोषित किया गया था *
- 26. निम्नलिखित कक्षाओं को तत्काल नहीं किया जा सका: - com.facebook.widget.LoginButton
- 27. क्या पोर्टेबल तरीके से सरणी के लिए नया प्लेसमेंट इस्तेमाल किया जा सकता है?
- 28. मॉकिटो: कक्षा के तरीके को प्रतिस्थापित करने के लिए कक्षा के तरीके को कैसे बदला जाए?
- 29. एंड्रॉइड: फ्लोटिंगएक्शन बटन को तत्काल नहीं किया जा सका
- 30. क्यों structs को कॉन्स के रूप में घोषित नहीं किया जा सकता है?
क्या आप वर्ग के साथ क्या करना चाहते हैं? – Jay
उत्तर = स्टेटिक वर्ग – MajkeloDev
सार वर्ग, स्थैतिक वर्ग उन्हें तत्काल नहीं किया जा सकता – Dragon