क्या यह सी # किसी भी तरह से संभव है? यह सटीक मामला है जिसके लिए मुझे इसकी आवश्यकता है: वह (उपयोगकर्ता) इस कक्षा के उदाहरण बनाने में सक्षम नहीं होना चाहिए। हालांकि, मैं अपने प्रोजेक्ट के अंदर इस कक्षा के उदाहरण बनाने में सक्षम होना चाहता हूं। (इसलिए: आंतरिक रूप से) अन्य वर्गों से इसका उत्तराधिकारी होना चाहिए। मैं उपयोगकर्ता को केवल बड़ी ध्वनि कक्षा का उपयोग करने के लिए मजबूर करना चाहता हूं। बड़ा "लेकिन": यदि उपयोगकर्ता इसे देता है तो उपयोगकर्ता इस कक्षा के उदाहरणों का उपयोग करने में सक्षम होना चाहिए, इसलिए मैं इसे आंतरिक बना सकता हूं और इसके साथ किया जा सकता हूं। न ही मैं इसे सार बना सकता हूं, क्योंकि मैं प्रतियां खुद बनाना चाहता हूं। मैंने उपयोगकर्ता को केवल आईसीएचनल की तरह इंटरफेस देने के बारे में सोचा, लेकिन इससे मेरी समस्या हल नहीं होती है कि वह चैनल का उदाहरण नहीं दे पाएगा। यदि वह इसके लिए देखता है तो वह कक्षा को देख पाएगा, और यदि वह पर्याप्त साहसी है तो भी एक उदाहरण बनाने का प्रयास करें। लेकिन जैसा कि मैंने पहले उल्लेख किया था: मैं इसे सार नहीं बना सकता क्योंकि मुझे आंतरिक रूप से प्रतियां बनाने की आवश्यकता है।अमूर्त वर्ग कैसे बनाते हैं, लेकिन आंतरिक रूप से
आपकी मदद की सराहना करें!
धन्यवाद! अच्छी बात पूछी गई, क्योंकि मैंने इसके बारे में थोड़ा और सोचा था, और यदि इंटरफ़ेस सार्वजनिक था, तो इंटरफ़ेस विधि काम करेगी, और चैनल स्वयं आंतरिक रूप से मुझे लगता है। लेकिन यह बदसूरत होगा :) (अतिरिक्त इंटरफेस कोई जरूरत या चाहता है) – Blub
मैं असहमत हूं; अगर मैं आपकी कक्षा पर निर्भर कोड का परीक्षण कर रहा था, तो मैं निश्चित रूप से एक इंटरफ़ेस चाहता हूं, क्योंकि इकाई परीक्षण के दौरान इंटरफ़ेस को आसानी से दबाया जा सकता है। एक इंटरफ़ेस के साथ एक और अच्छी बात यह है कि यह केवल आपकी कक्षा के सार्वजनिक उपयोग के लिए प्रासंगिक कार्यक्षमता का खुलासा करता है, जो कि कक्षा में आंतरिक रूप से उपयोग की जाने वाली सार्वजनिक विधियों का सबसेट हो सकता है। –
मैंने इसका इंटरफ़ेस बना दिया, क्योंकि एक अमूर्त वर्ग चैनल के रूप में अन्य रचनाकारों को विरासत में मिला जो मैंने पहले नहीं लिया था। मैं जोड़ा गिट्टी नहीं चाहता था, और कुछ अन्य कारणों से यह पूरी तरह से बाहर निकला। कभी-कभी आप भाग्यशाली हड़ताल करते हैं :) (उदाहरण के लिए: अन्य वर्ग आईसीएचनल के लिए वास्तविक कार्यान्वयन प्रदान करते हैं, जो आंतरिक होगा। यह सही है क्योंकि आप किसी इंटरफ़ेस का उदाहरण नहीं बना सकते हैं) – Blub