मेरे पास कक्षा Server
है जो आईआरसी के लिए सर्वर कनेक्शन से बात करती है। इसमें ज्ञात User
एस की एक सूची है, और उन्हें आवश्यकतानुसार बनाता है।अन्य वर्गों के लिए छिपी हुई विधियों/गुणों को बनाएं
- कोई भी एक
User
का एक उदाहरण बना सकते हैं:मैं
User
वर्ग से जुड़े दो समस्याएं हैं। मैं केवलServer
कक्षा को ऐसा करने में सक्षम होना चाहता हूं। - यदि कोई उपयोगकर्ता (
User
वर्णन करता है) उसका नाम बदलता है (या अन्य जानकारी, जैसे जुड़े चैनल),Server
कक्षा इसे स्वयं बदल सकती है। हालांकि, अन्य वर्ग भी कर सकते हैं! मैं इस वर्ग को छूने से अन्य वर्गों को अस्वीकार करना चाहता हूं (इसे केवल पढ़ने के लिए)।
मैं इन दो समस्याओं को कैसे हल कर सकता हूं? सी ++ में, इसे friend
कीवर्ड का उपयोग करके और ctor और setName
(और ऐसे) निजी का उपयोग करके हल किया जा सकता है।
क्या कोई सी # कीवर्ड है जो किसी निश्चित विधि द्वारा किसी निश्चित विधि तक पहुंच योग्य हो सकता है? यह मेरी समस्या का समाधान करेगा।
मैं आपके द्वारा सुझाए गए दोनों तरीकों से चला गया। मैंने एक इंटरफ़ेस IUser और एक सर्वर यूज़र आंतरिक कक्षा बनाई है। (मैं सर्वर को दो वर्गों में भी विभाजित करता हूं ताकि अन्य अपने कस्टम आईआरसी क्लाइंट लिख सकें।) आपके उत्तर के लिए धन्यवाद! – strager