रचना और एकत्रीकरण

कक्षाएं और वस्तुएं एक दूसरे से संबंधित हो सकती हैं। वंशानुक्रम एक "IS A" संबंध का वर्णन करता है। एक शेर एक जानवर है। यह संबंध आसानी से वंशानुक्रम का उपयोग करके व्यक्त किया जाता है, जहां Animalमाता-पिता वर्ग होगा और Lionबच्चा होगा। लेकिन दुनिया में हर रिश्ते को इस तरह ठीक से वर्णित नहीं किया जाता है। उदाहरण के लिए, एक कीबोर्ड का निश्चित रूप से कंप्यूटर के साथ कुछ संबंध होता है, लेकिन यह कंप्यूटर नहीं है । हाथों का इंसान से कुछ नाता है, लेकिन वो इंसान नहीं हैं। ये मामले एक अलग प्रकार के रिश्ते का प्रतिनिधित्व करते हैं - "आईएस ए" नहीं, बल्कि "हैस ए"। हाथ एक व्यक्ति नहीं हैं, लेकिन एक व्यक्ति के हाथ हैं। कीबोर्ड कंप्यूटर नहीं है, लेकिन कंप्यूटर में कीबोर्ड होता है। "एक". इन अवधारणाओं के बीच का अंतर रिश्तों की "कठोरता" में निहित है। आइए एक सरल उदाहरण लें: हमारे पास एक Car. हर कार में एक इंजन होता है। इसके अतिरिक्त, हर कार यात्रियों को ले जा सकती है। Engine engineऔर क्षेत्रों के बीच मूलभूत अंतर क्या है Passenger[] passengers? यदि यात्री Aकार के अंदर बैठा है, तो इसका मतलब यह नहीं है कि यात्री Bकार Cमें नहीं हो सकता है। एक कार कई यात्रियों को समायोजित कर सकती है। क्या अधिक है, सभी यात्री कार से बाहर निकल सकते हैं, फिर भी यह सुचारू रूप से कार्य करता रहेगा। Carवर्ग और सरणी के बीच का संबंध Passenger[] passengersकम सख्त है। इसे एकत्रीकरण कहा जाता है । यहाँ इस विषय पर एक अच्छा लेख है: वर्गों (वस्तुओं) के बीच संबंध. यह एकत्रीकरण का एक और अच्छा उदाहरण प्रदान करता है। मान लीजिए कि हमारे पास एक Studentकक्षा है जो एक छात्र का प्रतिनिधित्व करती है, और एक StudentGroupजो छात्रों के एक समूह का प्रतिनिधित्व करती है। एक छात्र एक भौतिकी क्लब, एक स्टार वार्स छात्र फैन क्लब या एक कॉमेडी क्लब का सदस्य हो सकता है। रचना एक कठोर प्रकार का संबंध है। रचना का उपयोग करते समय, एक वस्तु के पास एक और वस्तु होती है, लेकिन यह उसी प्रकार की दूसरी वस्तु से संबंधित नहीं हो सकती। सबसे सरल उदाहरण एक कार इंजन है। अगर किसी कार में इंजन है, तो वह इंजन किसी दूसरी कार का नहीं हो सकता। Carजैसा कि आप देख सकते हैं, वह रिश्ता और की तुलना में बहुत सख्त है Passengersवर्गों के बीच संबंध।  वंशानुक्रम, रचना और एकत्रीकरण - 4