में ओवरलोडेड विधियां आज के लिए मेरा प्रश्न: इंटरफ़ेस में ओवरलोडेड विधियां खराब हैं? आप जानते हैं, "यदि आप परवाह नहीं करते हैं तो" ओमिट पैरामीटर, हम डिफ़ॉल्ट मानों को समझेंगे "ओवरलोडेड विधियों की तरह। कि जैसा:इंटरफ़ेस
void Add(object item);
void Add(object item, bool shouldDoSomething);
void Add(object item, bool shouldDoSomething, IUltraObscureDeviceContext context);
इस मामले मुझे लगता है कि केवल बाद एक अंतरफलक के अंतर्गत आता है और दूसरों को इसके शीर्ष पर सार कक्षा में लागू किया जाना चाहिए लगता है के लिए करते हैं में। लेकिन फिर फिर, मुझे यकीन नहीं है।
इसके अलावा, ऐसे समय होते हैं जब आप अलग-अलग अधिभार अलग-अलग काम करना चाहते हैं (अगर वहां अधिभारित विधियों का उपयोग कभी नहीं किया जाना चाहिए तो मुझे वहां रोकें)। या कभी-कभी आप कुछ पैरामीटर के स्थान पर नल को सामान नहीं दे सकते हैं, तो आप कुछ अपूर्ण होने पर अपवाद फेंकना चाहते हैं। क्या मुझे इस मामले में ओवरलोडिंग का उपयोग नहीं करना चाहिए?
तो मूल रूप से मैं इन इंटरफेस को लागू करने वाले अमूर्त वर्गों में इंटरफेस बनाम ओवरलोडेड विधियों में ओवरलोडेड विधियों पर कुछ दिशानिर्देशों की तलाश कर रहा हूं। अग्रिम धन्यवाद
यदि आप जिस अनुबंध को आपूर्ति कर रहे हैं, इस विधि के 3 संस्करण पेश करने का वादा करता है, तो आपको उन अधिभारों को शामिल करना चाहिए। –
खैर, हाँ, मुझे पता है, लेकिन इस तरह के सवाल में भी शामिल है - क्या मुझे अनुबंधों की आपूर्ति करनी चाहिए या नहीं या कभी-कभी या शायद – Dyppl
हम ** डिफ़ॉल्ट पैरामीटर ** का उपयोग क्यों नहीं कर रहे हैं? –