Has-a
डाटाबेस डिजाइन, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और डिजाइन में, हैज-ए (हैज-ए या हैज-ए) एक संरचना संबंध है जहां एक वस्तु (जिसे अक्सर गठित वस्तु कहा जाता है, या भाग/घटक/सदस्य वस्तु) किसी अन्य वस्तु (जिसे समग्र प्रकार कहा जाता है) से संबंधित है और स्वामित्व के नियमों के अनुसार व्यवहार करती है। सरल शब्दों में, किसी वस्तु में है-ए संबंध को किसी वस्तु का सदस्य क्षेत्र कहा जाता है। एकाधिक संबंध एक स्वत्वबोधक पदानुक्रम बनाने के लिए एकजुट होंगे। संबंधित अवधारणाओं "हस-ए" की तुलना एक इस-ए (इस-ए या इस-ए) संबंध से की जानी चाहिए जो एक वर्गीकरण पदानुक्रम (उपप्रकार) का गठन करता है। यह निर्णय कि क्या किसी वस्तु और उसके अधीनस्थ के लिए सबसे तार्किक संबंध हमेशा स्पष्ट रूप से-ए या-ए नहीं होता है। इस तरह के निर्णयों पर भ्रम ने इन धातुविज्ञानी शब्दों के निर्माण की आवश्यकता पैदा कर दी है। हैज-ए संबंध का एक अच्छा उदाहरण सी + + एसटीएल में कंटेनर है। संबंधों को संक्षेप में प्रस्तुत करने के लिए, हमारे पास एक वर्गीकरण पदानुक्रम को परिभाषित करने वाले प्रकारों (वर्गों) के बीच हाइपरनीम-हाइपोनम (सुपरटाइप-सबटाइप) संबंध हैं, जहां एक विरासत संबंध के लिएः एक हाइपोनम (सबटाइप, सबक्लास) में एक प्रकार का (इस-ए) संबंध होता है जो इसके हाइपरनीम (सुपरटाइप, सुपरक्लास) के साथ होता है; होलोनम-मेरोनम (संपूर्ण/इकाई/कंटेनर-भाग/घटक/सदस्य) एक स्वत्वबोधक पदानुक्रम को परिभाषित करने वाले प्रकारों (वर्गों) के बीच संबंध, जहां एकत्रीकरण (यानी एकत्रीकरण) के लिए। स्वामित्व के बिना) संबंधः एक पवित्र नाम (संपूर्ण) का एक संबंध होता है-एक रचना के लिए इसके उपनाम (भाग) के साथ। स्वामित्व) संबंध के साथः एक उपनाम (घटक) का अपने पवित्र नाम (इकाई) के साथ एक आंशिक संबंध होता है, एक नियंत्रण संबंध के लिएः एक उपनाम (सदस्य) का अपने पवित्र नाम (पात्र) के साथ एक सदस्य का संबंध होता है; अवधारणा-वस्तु (प्रकार-टोकन) प्रकार (वर्ग) और वस्तुओं (उदाहरण) के बीच संबंध, जहां एक टोकन (वस्तु) का अपने प्रकार (वर्ग) के साथ एक उदाहरण-संबंध होता है। उदाहरण इकाई-संबंध मॉडल डेटाबेस में है-एक संबंध आमतौर पर एक इकाई-संबंध मॉडल में दर्शाए जाते हैं। जैसा कि आप दाईं ओर के आरेख से देख सकते हैं कि एक खाते में कई वर्ण हो सकते हैं। इससे पता चलता है कि खाते का चरित्र के साथ "हैज-ए" संबंध है। यू. एम. एल. वर्ग आरेख ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में इस संबंध को एक एकीकृत मॉडलिंग भाषा वर्ग आरेख के साथ दर्शाया जा सकता है। इस संबंध को रचना के रूप में भी जाना जाता है। जैसा कि आप दाईं ओर वर्ग आरेख से देख सकते हैं कि एक कार "हैज-ए" कार्बोरेटर है, या एक कार एक कार्बोरेटर से "बनी" है। जब हीरे का रंग काला होता है तो यह संरचना को दर्शाता है, अर्थात। हीरे के सबसे करीब की तरफ की वस्तु दूसरी वस्तु से बनी होती है या उसमें होती है। जबकि सफेद हीरा एकत्रीकरण को दर्शाता है, जिसका अर्थ है कि हीरे के सबसे करीब की वस्तु में दूसरी वस्तु हो सकती है या हो सकती है। सी + + वास्तविक दुनिया के प्रतिरूपण में संरचना और एकत्रीकरण के बीच अंतर करने का एक और तरीका, निहित वस्तु के सापेक्ष जीवनकाल पर विचार करना है। उदाहरण के लिए, यदि किसी कार ऑब्जेक्ट में चेसिस ऑब्जेक्ट है, तो संभवतः कार के जीवनकाल के दौरान चेसिस को प्रतिस्थापित नहीं किया जाएगा। इसका जीवनकाल कार के समान ही होगा; इसलिए संबंध संरचना का है। दूसरी ओर, यदि कार ऑब्जेक्ट में टायर ऑब्जेक्ट का एक सेट होता है, तो ये टायर ऑब्जेक्ट खराब हो सकते हैं और कई बार बदले जा सकते हैं। या यदि कार अनुपयोगी हो जाती है, तो कुछ टायरों को बचाया जा सकता है और दूसरी कार को सौंपा जा सकता है। किसी भी दर पर, टायर वस्तुओं का कार वस्तु की तुलना में अलग-अलग जीवनकाल होता है; इसलिए संबंध एकत्रीकरण का होता है। यदि कोई ऊपर वर्णित संबंधों को लागू करने के लिए सी + + सॉफ्टवेयर वर्ग बनाता है, तो कार ऑब्जेक्ट में एक डेटा सदस्य में एक पूर्ण चेसिस ऑब्जेक्ट होगा। इस चेसिस ऑब्जेक्ट को कार वर्ग के कंस्ट्रक्टर में तुरंत स्थापित किया जाएगा (या डेटा सदस्य के डेटा प्रकार और कंस्ट्रक्टर में सौंपे गए इसके गुणों के रूप में परिभाषित किया जाएगा)। और चूंकि यह कार वर्ग का पूरी तरह से निहित डेटा सदस्य होगा, चेसिस ऑब्जेक्ट अब मौजूद नहीं होगा यदि कार वर्ग की वस्तु को हटाया जाना था। दूसरी ओर, कार वर्ग के डेटा सदस्य जो टायर वस्तुओं की ओर इशारा करते हैं, वे संभवतः सी + + सूचक होंगे। टायर ऑब्जेक्ट को तुरंत हटाया जा सकता है और बाहरी रूप से हटाया जा सकता है, या यहां तक कि एक अलग कार ऑब्जेक्ट के डेटा सदस्यों को सौंपा जा सकता है। टायर ऑब्जेक्ट का एक स्वतंत्र जीवनकाल होगा जो कार ऑब्जेक्ट को हटाने के समय से अलग होगा। ऑब्जेक्ट कम्पोजीशन हैज़-ए होलोनमी मेरोनमी इज़-ए हाइपरनीमी (और सुपरटाइप) हाइपोनीमी (और उपप्रकार) नोट्स ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग रिलेशनल अलजेब्रा भी देखें।