क्या निम्नलिखित स्थिति के लिए सी # (या किसी ऑब्जेक्ट उन्मुख भाषा जो विधि अधिभार का समर्थन करता है) में कोई भी प्रकार का सम्मेलन है?क्या कोई सी # विधि अधिभार पैरामीटर ऑर्डरिंग सम्मेलन है?
चलें कहते हैं कि मैं एक विधि foo है:
public void Foo(int a){//does stuff}
लेकिन असल में मैं 3 तरीकों foo है:
public void Foo(int a){}
public void Foo(int a, double b){}
public void Foo(float c, int a, double b){}
वहाँ एक सम्मेलन एक में कहा गया है कि क्या है या नहीं मानकों का क्रम महत्वपूर्ण है अधिभारित विधि? ध्यान दें कि कैसे तीसरी विधि एक स्पष्ट तार्किक प्रगति नहीं है (ए, बी, सी)।
यदि 'ए' हमेशा आवश्यक है, और' सी' प्रदान किए जाने पर 'बी' की आवश्यकता है, तो मैं ऐसा कुछ करूंगा: 'सार्वजनिक शून्य फू (int a, double? B = null, float? C = null) '- मानते हुए कि आपका तर्क समान है। – zimdanen
@zimdanen, पैराम को – Maxwe11
@ ज्यूपिटर बनाने का कोई कारण नहीं है: विचार यह है कि ओवरलोड के विकल्प के रूप में इसका उपयोग करना है। यह बहुत अच्छा काम करता है जब कई पैरामीटर होते हैं जिनमें से सभी स्वतंत्र होते हैं - आप हर बार जब भी आप जोड़ते हैं तो ओवरलोड की संख्या को दोगुना करने से बचें। (माना जाता है कि एक बार जब आप लगभग 5 पैरामीटर प्राप्त कर लेते हैं तो आपको वास्तव में सावधानी से देखना चाहिए कि यह एक उचित डिजाइन है या नहीं ...) –