जावा में एकाधिक वंशानुक्रम को कैसे लागू किया जाए?



यह लेख आपको Interfaces के माध्यम से Java में कई Inheritance को कार्यान्वित करने में मदद करता है और प्रोग्रामेटिक प्रदर्शन के साथ इसका पालन करता है।

यह आलेख आपको एक अवधारणा को लागू करने में मदद करेगा जो अन्यथा जावा में लागू करना संभव नहीं है। मैं मल्टीपल की बात कर रहा हूं । इस लेख में निम्नलिखित बिंदुओं को छुआ जाएगा,

एक रिश्ता है

तो आइए जावा लेख में इस विविध विरासत के साथ शुरुआत करते हैं,





जावा में कई वंशानुक्रम

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग एक उपयोगकर्ता को कई विरासत की सुविधा प्रदान करता है, जिसमें एक वर्ग एक से अधिक मूल वर्ग के गुणों को विरासत में दे सकता है। सरल शब्दों में, एकाधिक वंशानुक्रम का अर्थ है एक वर्ग जो एक से अधिक वर्ग का विस्तार करता है।

जावा की प्रोग्रामिंग भाषा सीधे इस सुविधा का उपयोग करने में असमर्थ है। यह अप्रत्यक्ष रूप से इंटरफेस के उपयोग के माध्यम से प्राप्त किया जा सकता है।



जावा लेख में इस एकाधिक वंशानुक्रम के साथ आगे बढ़ते हुए,

नमूना कार्यक्रम

निम्नलिखित उदाहरण में, हमारे पास दो इंटरफेस हैं: मोटरबाइक और साइकिल। मोटरबाइक इंटरफ़ेस में विशेषता गति होती है। विधि समग्रता () है। साइकिल इंटरफ़ेस में विशेषता दूरी () और विधि गति () शामिल हैं।

इन दोनों इंटरफेस को क्लास टूव्हीलर द्वारा लागू किया गया है।



इंटरफ़ेस मोटरबाइक {int speed = 50 public void TotalDistance ()} इंटरफ़ेस Cycle {int दूरी = 150 सार्वजनिक शून्य गति ()} सार्वजनिक वर्ग TwoWheeler लागू करता है मोटरबाइक, साइकिल {int TotalDistist int avgSpeed ​​public void TotalDistance () {TotalDistance = speed * दूरी प्रणाली .out.println ('टोटल डिस्टेंस ट्रैवल्ड:' + टोटलडिस्टेंस)} सार्वजनिक शून्य गति () {int avgSpeed ​​= totalDistance / speed System.out.println ('औसत गति बरकरार:' + avidSpeed)} सार्वजनिक स्टेटिक शून्य मुख्य (स्ट्रिंग args) []) {टूव्हीलर t1 = नया टूव्हीलर () t1.totalDistance () t1.speed ()}}

आउटपुट

कुल दूरी की यात्रा: 7500

औसत गति बनाए रखा: 150

ऊपर दिए गए कार्यक्रम में अस्पष्टता से भी बचा जाता है, जब कक्षाएं इंटरफेस के बजाय उपयोग की जाती हैं। हालांकि, जावा इसका समर्थन नहीं करता है। जब दोनों वर्गों में एक ही विधि होती है, तो संकलक को बुलाए जाने की विधि पर निर्णय लेने में असमर्थ होता है। इंटरफ़ेस का उपयोग करना इस अस्पष्टता से बचता है क्योंकि इंटरफ़ेस के तरीके डिफ़ॉल्ट रूप से अमूर्त हैं।

जावा लेख में इस एकाधिक वंशानुक्रम के साथ आगे बढ़ते हुए,

अनेकता के बिना अनेकता

इंटरफ़ेस इंटरफ़ेसऑन {सार्वजनिक शून्य विवाद ()} इंटरफ़ेस इंटरफ़ेसट्यू {सार्वजनिक शून्य विवाद ()} सार्वजनिक वर्ग मुख्य उपकरण इंटरफ़ेसऑन, इंटरफ़ेसट्वू {@ ओवरराइड सार्वजनिक शून्य विवाद () {System.out.println ('प्रदर्शन () विधि कार्यान्वयन)} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {मुख्य m = नया मुख्य () m.disp ()}}

आउटपुट

प्रदर्शन () विधि कार्यान्वयन

मुख्य विधि दोनों इंटरफेस यानी इंटरफ़ेसऑन और इंटरफ़ेसट्वो को लागू करती है। यह बिना किसी अस्पष्टता के निष्पादित करता है।

आइए एक और उदाहरण पर एक नज़र डालते हैं कि एक से अधिक विरासत की बेहतर समझ के लिए:

इंटरफ़ेस गाओ

{{

डिफ़ॉल्ट शून्य singRock () {

System.out.println ('मैं रॉक गा रहा हूं')

}

}

इंटरफ़ेस नृत्य

{{

डिफ़ॉल्ट शून्य नृत्य () {

System.out.println ('मैं धीमी गति से नृत्य कर रहा हूं!')

}

}

सार्वजनिक वर्ग मानव एकल गाता है, नृत्य करता है

{{

सार्वजनिक स्थैतिक शून्य main (String [] args)

{{

मानव h = नया मानव ()

h.RRRock ()

h.danceSlow ()

}

}

आउटपुट

मैं रॉक गा रहा हूं

मैं धीमी गति से नाच रहा हूँ!

इस प्रकार, इस लेख में चर्चा की गई विधियों द्वारा कई विरासत प्राप्त की जा सकती हैं।

इस प्रकार हम 'जावा में एकाधिक विरासत' पर इस लेख के अंत में आए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी द्वारा। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपको वापस कर देंगे।