गुण एक Person
और Company
उदाहरण के कुछ यादृच्छिक संयोजन के लिए आम एक "संघ वर्ग" का उपयोग कर तैयार किया जा सकता।
यूएमएल में इसके लिए एक संकेत है, और एक एक्स्टेंसिबल प्रोग्रामिंग भाषा में ऐसी अवधारणा बनाना मुश्किल नहीं है।
विचार यह है कि Person
और Company
से संबंधित वस्तुओं की यादृच्छिक जोड़ी का रिश्ता है, और यह रिश्ता स्वयं एक वस्तु है। यह न तो Person
और न ही Company
है, लेकिन एक विशेष Person
और Company
उदाहरण के बीच कनेक्शन से जुड़े सामान।
वह सामान (गुण, विधियां) एक वर्ग का गठन करती है: Person-Company
एसोसिएशन क्लास।
मैंने इस काम को लिस्प में पहले बनाया था, कुछ मैक्रोज़ कक्षाओं के लिए एक एसोसिएशन क्लास को परिभाषित करने के लिए, और ऑब्जेक्ट जोड़े को उनके एसोसिएशन क्लास ऑब्जेक्ट में मैप करने के लिए वैश्विक कमजोर हैश टेबल (ताकि किसी दिए गए व्यक्ति के लिए और कंपनी एसोसिएशन को पुनः प्राप्त करना संभव था, और जब ये वस्तुएं कचरा बन जाती हैं तो वह संगठन दूर हो जाएगा)।
विशेष कंपनियों और लोगों के बीच वास्तविक लिंक उदाहरण का उपयोग करना आसान है। सूचियों या अन्य सहयोगी डेटा संरचनाओं। एक व्यक्ति वस्तु में कंपनियों की एक सूची हो सकती है, और इसके विपरीत। एसोसिएशन क्लास विचार व्यक्ति-कंपनी सामान कहां रखना है, इस समस्या को संबोधित करता है। उदाहरण के लिए प्रत्येक Person
में Company
(मान लें) के भीतर एक भूमिका है। हमारे पास role
एक Person
में परिवर्तनीय नहीं हो सकता है क्योंकि इसमें कई भूमिकाएं हो सकती हैं w.r.t कई कंपनियां। हम निश्चित रूप से कंपनी में role
नहीं रख सकते हैं क्योंकि यह एक व्यक्ति भी नहीं है; इसमें लोगों के साथ जुड़ा हुआ है जिनके पास भूमिकाएं हैं। भूमिका एसोसिएशन में जा सकती है: समस्या हल हो गई।
संभव डुप्लिकेट http://stackoverflow.com/questions/4089582/modelling- का ट्रैक रखता है कर सकते हैं अभिभावक-बच्चे-रिश्ते-साथ-वर्ग) –