जावा में रिलेशनशिप है



यह लेख आपको जावा में एक संबंध है और यह विभिन्न उपयोगों का एक विस्तृत और संक्षिप्त ज्ञान प्रदान करेगा।

में एक संबंध है और एक रिश्ता सबसे भ्रमित करने वाली शर्तों में से दो हैं। इस लेख में, हम निम्नलिखित मापदंडों पर ध्यान केंद्रित करेंगे:

एक जावा है

जावा में संबंध बनाने के लिए एक परिचय

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





एक रचना एसोसिएशन का एक रूप है। एसोसिएशन को दो अलग-अलग वर्गों के बीच संबंध के रूप में जाना जाता है जो उनकी वस्तुओं के माध्यम से अधिकृत होते हैं। एसोसिएशन के रूप में हो सकता है:

  1. एक से एक



  2. कई लोगों के लिए एक

  3. अनेक-एक

  4. कई कई



OOP (ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग) में, ऑब्जेक्ट सभी सेवाओं और उस ऑब्जेक्ट द्वारा प्रदान की गई कार्यक्षमता का उपयोग करने के लिए किसी अन्य ऑब्जेक्ट के साथ संचार करता है।

एसोसिएशन

यहाँ एसोसिएशन के कार्यान्वयन का एक उदाहरण है।

import java.io. * * क्लास बैंक {निजी स्ट्रिंग नाम बैंक (स्ट्रिंग नाम) {this.name = name} सार्वजनिक स्ट्रिंग getBankName () {return this.name}} वर्ग कर्मचारी {निजी स्ट्रिंग नाम कर्मचारी (स्ट्रिंग नाम) {यह। name = name} public String getEmployeeName () {return this.name}} वर्ग एसोसिएशन {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {बैंक b = नया बैंक ('एक्सिस') कर्मचारी ई - कर्मचारी ('हिमांशी') System.out.println (e.getEmployeeName () + '' + b.getBankName ())}} का एक कर्मचारी है

आउटपुट:

has-a-relationship-in-java

यह एसोसिएशन का विशेष रूप है जहां:

  1. यह हस-ए-रिलेशनशिप का प्रतिनिधित्व करता है।

  2. इसे एक यूनिडायरेक्शनल एसोसिएशन (एकतरफा संबंध) के रूप में जाना जाता है। उदाहरण के लिए, विभाग में शिक्षक हो सकते हैं लेकिन इसके विपरीत सत्य नहीं है और इसलिए, प्रकृति में यूनिडायरेक्शनल है।

अब हम कम्पोजीशन के बारे में बात करते हैं

रचना एक प्रतिबंधित रूप है जिसमें दो वस्तुएं एक-दूसरे पर बेहद निर्भर हैं। जब दो संस्थाओं के बीच संरचना मौजूद होती है, तो दूसरी इकाई के बिना रचना नहीं हो सकती।

यहाँ रचना की अवधारणा दिखाने के लिए पुस्तकालय का उदाहरण दिया गया है

import java.io. * import java.util। * class Book {पब्लिक स्ट्रिंग टाइटल पब्लिक स्ट्रिंग लेखक पुस्तक (स्ट्रिंग टाइटल, स्ट्रिंग लेखक) {this.title = title this.author = author}} क्लास लाइब्रेरी {निजी अंतिम शीर्षक पुस्तकें लाइब्रेरी (सूची पुस्तकें) {this.books = पुस्तकें} सार्वजनिक सूची getTotalBooksInLibrary () {वापसी पुस्तकें}} वर्ग edureka {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {पुस्तक b2 = नई पुस्तक ('थिंकिंग जावा', 'ब्रु ए)' ) बुक b3 = नई बुक ('जावा: कम्प्लीट रेफरेंस', 'हर्ब एस') लिस्ट बुक्स = न्यू एरियर लाईस्ट () बुक्स.डीडी (b2) बुक्स ।add (b3) लाइब्रेरी लाइब्रेरी = न्यू लाइब्रेरी (बुक्स) लिस्ट टीके = लाइब्रेरी .getTotalBooksInLibrary () के लिए (बुक bk: bks) {System.out.println ('शीर्षक:' + bk.title + 'और' + 'लेखक:' + bk.author)}}

आउटपुट:

सॉर्ट विधि c ++

OOPS का एक मुख्य लाभ यह है कि हम कोड का पुन: उपयोग कर सकते हैं। दो तरीके हैं जिनके द्वारा हम कोड का पुन: उपयोग कर सकते हैं एक कार्यान्वयन हैविरासत या वस्तु रचना के द्वारा।

कम्पेरिजन एंड इनहेरिटेंस: रिलेशनशिप

  • वंशानुक्रम की तुलना में कक्षा को बदलना आसान है।

  • वंशानुक्रम स्थैतिक बंधन है जबकि रचना गतिशील बंधन है।

  • क्लास इनहेरिटेंस को संकलन-समय पर परिभाषित किया जाता है जबकि ऑब्जेक्ट रचना रन-टाइम पर परिभाषित की जाती है।

  • ऑब्जेक्ट कंपोज़िशन में, आंतरिक विवरण एक दूसरे के सामने नहीं आते हैं और वे अपने सार्वजनिक इंटरफेस द्वारा बातचीत करते हैं, जबकि इनहेरिटेंस में, यह सार्वजनिक और बेस क्लास के संरक्षित सदस्यों दोनों को उजागर करता है।

  • रचना में, प्रवेश प्रतिबंधित किया जा सकता है, जबकि वस्तु संरचना में, कोई एक्सेस कंट्रोल नहीं है।

  • इनहेरिटेंस में, यह अपने माता-पिता के कार्यान्वयन के विवरण के लिए एक उपवर्ग को उजागर करके एनकैप्सुलेशन को तोड़ता है, जबकि ऑब्जेक्ट कम्पोजिशन में, यह एनकैप्सुलेशन को नहीं तोड़ता है क्योंकि ऑब्जेक्ट पूरी तरह से उनके इंटरफेस के माध्यम से एक्सेस किए जाते हैं।

  • इनहेरिटेंस में, यह कोड को पुन: प्रयोज्य प्रदान करता है, जबकि, वस्तु रचना में, यह संघों का प्रतिनिधित्व करने की अनुमति देता है।

उदाहरण 1:

क्लास ऑपरेशन {इंट स्क्वायर (इंट एन) {रिटर्न एन * एन}} क्लास सर्कल {ऑपरेशन सेशन // एग्रीगेशन डबल पाई = 3.14 डबल एरिया (इंट रेडियस) {ऑप = नया ऑपरेशन () इंट rsquare = op.square (रेडियस) // कोड पुन: प्रयोज्यता (यानी विधि कॉल प्रतिनिधि)। वापसी pi * rsquare} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {सर्कल c = नया सर्कल () दोहरा परिणाम = c.area (5) System.out.println (परिणाम)}}

आउटपुट:

विंडोज़ 7 पर php स्थापित करें

उदाहरण 2:

क्लास हाउस {किचन k = नया किचन () // हाउस क्लास के लिए अधिक कोड} क्लास किचन {// किचन क्लास का कोड}

यदि घर नष्ट हो जाता है, तो रसोई भी नष्ट हो जाएगी। यह संरचना के रूप में जाना जाता है जब दो संस्थाएं एक दूसरे पर निर्भर होती हैं। कंटेनर क्लास (हाउस) के बिना रेफरेंस क्लास (किचन) मौजूद नहीं हो सकता।

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

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

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