मेरे पास स्थैतिक polymporhism की अवधारणा के बारे में कुछ प्रश्न हैं, मुझे कुछ समय के बारे में सुना है; आप उन्हें मुख्य रूप से सी ++ के संदर्भ में व्याख्या कर सकते हैं, लेकिन मैं भाषा-अज्ञेय उत्तरों की सराहना करता हूं जहां लागू हो (इसलिए सी ++ और भाषा-अज्ञेय दोनों को टैग करना)।स्टेटिक पॉलिमॉर्फिज्म परिभाषा और कार्यान्वयन
हम कैसे सामान्य रूप में स्थिर बहुरूपता परिभाषित करते हैं? उदाहरण के लिए, मेरा मानना है कि सी ++ से
std::sort
समारोह स्थिर बहुरूपी विचार किया जाएगा कि के रूप में यह कुछ कुछ वस्तुओं जो iterators की तरह व्यवहार द्वारा प्रदान की अंतरफलक पर निर्भर करता है, और प्रदान की iterators के इंटरफेस के तहत सही व्यवहार निर्धारित किया जा सकता संकलन समय में। क्या यह स्पष्टीकरण है कि हम स्थैतिक बहुरूपता को कैसे परिभाषित करते हैं, या यह सिर्फ एक विशिष्ट मामले का विवरण है और इसके लिए और भी कुछ है?सी ++ में स्थिर पॉलीमोर्फिज्म का उपयोग करने के लिए सामान्य कोड पैटर्न क्या हैं? इसके अलावा: एसपी केवल सी ++ में टेम्पलेट्स के माध्यम से हासिल किया गया है?
यह सही है कि एक दिया यूएमएल वर्ग आरेख नहीं करता सीधे वर्णन कैसे बहुरूपता नियंत्रित किया जाता है और इस प्रकार, यह कम से कम आंशिक या तो स्थिर या गतिशील रूप से लागू किया जा सकता है? दूसरे शब्दों में: क्या ओओपी मॉडल से स्वतंत्र स्थिर बनाम गतिशील बहुरूपता की पसंद है, और इस प्रकार निर्णय लेने के लिए कार्यान्वयनकर्ता तक?
स्थिर पॉलीमोर्फिज्म केवल सी ++ - विशिष्ट और टेम्पलेट कैसे काम करते हैं उससे संबंधित है? यदि नहीं, तो क्या यह किसी अन्य मुख्यधारा की भाषाओं में सी ++ के अलावा मौजूद है? क्या हमारे पास जावा, सी # .. में कुछ भी स्थिर polymorphism के बराबर हो सकता है, और यह कोई लाभ लाएगा?
सबसे महत्वपूर्ण ... स्थैतिक बहुरूपता का उपयोग करने के वास्तविक लाभ क्या हैं? मुझे लगता है कि हम इस बात से सहमत हो सकते हैं कि यह कोड लचीलापन को कम करता है; इसके अलावा फायदे क्या हैं - सी ++ के मामले में - एक पॉइंटर अव्यवस्था (वर्चुअल फ़ंक्शन/पॉइंटर-टू-फ़ंक्शन/प्रतिनिधि लागत) को सहेजना? समस्या का वर्ग है जहां स्थैतिक बहुरूपता विशेष रूप से उपयोगी है, कार्यान्वयन के लिए सही विकल्प है?
हम सहमत हैं कि यह कोड लचीलापन को कम करता है ?? –
मुझे लगता है कि उसका मतलब "जटिलता" या संभवतः "अनावश्यकता" था। –
नहीं, मेरा मतलब लचीलापन था; यह मानते हुए कि स्थैतिक बहुरूपता वाले सभी डिज़ाइनों को गतिशील बहुरूपता के साथ कार्यान्वित किया जा सकता है, लेकिन किसी अन्य मामले में स्थैतिक बहुरूपता का उपयोग नहीं करते हैं, इसका अर्थ यह है कि यदि आवश्यकताएं बदलती हैं तो भविष्य में एक आवश्यकता को गतिशील रूप से फिर से लिखने के लिए उत्पन्न हो सकता है। बस मेरी सोच – Kos