जावा एकाधिक वंशानुक्रम का समर्थन करता है क्यों या क्यों नहीं?
जावा एकाधिक वंशानुक्रम का समर्थन करता है क्यों या क्यों नहीं?

वीडियो: जावा एकाधिक वंशानुक्रम का समर्थन करता है क्यों या क्यों नहीं?

वीडियो: जावा एकाधिक वंशानुक्रम का समर्थन करता है क्यों या क्यों नहीं?
वीडियो: एकाधिक वंशानुक्रम जावा द्वारा समर्थित क्यों नहीं है? #जावाइंटरव्यू #मल्टीपलइनहेरिटेंस #विरासत 2024, अप्रैल
Anonim

जावा एकाधिक विरासत का समर्थन नहीं करता है कक्षाओं के माध्यम से लेकिन इंटरफेस के माध्यम से, हम उपयोग कर सकते हैं एकाधिक विरासत . कोई जावा नहीं नहीं है एकाधिक विरासत का समर्थन करें सीधे क्योंकि यह विधियों को ओवरराइड करने की ओर जाता है जब दोनों विस्तारित वर्ग का एक ही विधि नाम होता है।

नतीजतन, जावा में एकाधिक विरासत की अनुमति है?

सी ++, सामान्य लिस्प और कुछ अन्य भाषाएं समर्थन करती हैं एकाधिक विरासत जबकि जावा इसका समर्थन नहीं करता। जावा नहीं है एकाधिक विरासत की अनुमति दें इससे होने वाली अस्पष्टता से बचने के लिए। ऐसी समस्या का एक उदाहरण हीरे की समस्या है जो में होती है एकाधिक विरासत.

यह भी जानिए, क्यों है मल्टीपल इनहेरिटेंस खराब? के साथ खतरा एकाधिक विरासत जटिलता है। चूंकि आप प्रभावित कर सकते हैं विभिन्न एक ही मूल वर्ग से आपके ऐप में मॉड्यूल, कोड परिवर्तनों के बारे में तर्क करना इतना आसान नहीं है। कोई भी गलती बग की श्रृंखला प्रतिक्रिया का कारण बन सकती है। यह कहाँ है एकाधिक विरासत उत्पादक बन सकता है।

यह भी जानिए, कौन सी विरासत जावा द्वारा समर्थित नहीं है क्यों?

जावा में यह कभी नहीं हो सकता क्योंकि वहाँ नहीं है एकाधिक विरासत . यहां भले ही दो इंटरफेस में एक ही विधि हो, कार्यान्वयन वर्ग के पास केवल एक ही विधि होगी और वह भी कार्यान्वयनकर्ता द्वारा किया जाएगा। कक्षाओं का गतिशील लोडिंग का कार्यान्वयन करता है एकाधिक विरासत कठिन।

इंटरफ़ेस में एकाधिक विरासत का उपयोग क्यों किया जाता है?

जैसा कि हमने में समझाया है विरासत अध्याय, एकाधिक विरासत नहीं है का समर्थन किया अस्पष्टता के कारण वर्ग के मामले में। हालांकि यह है का समर्थन किया एक के मामले में इंटरफेस क्योंकि कोई अस्पष्टता नहीं है। ऐसा इसलिए है क्योंकि इसका कार्यान्वयन कार्यान्वयन वर्ग द्वारा प्रदान किया जाता है। इंटरफेस दिखाने योग्य{

सिफारिश की: