मुझे यह दो बार सामना करना पड़ा, और मुझे आश्चर्य हुआ कि परिपत्र संदर्भों को हल करने के लिए ओओ तरीका क्या है। इसके द्वारा मेरा मतलब है कि कक्षा ए में एक सदस्य के रूप में कक्षा बी है, और बी में बदले में कक्षा ए सदस्य है।ओओपी में क्रॉस रेफरेंस को कैसे हल करें?
इसका एक उदाहरण क्लास व्यक्ति होगा जिसमें सदस्य के रूप में व्यक्ति पति/पत्नी होगा।
Person jack = new Person("Jack");
Person jill = new Person("Jill");
jack.setSpouse(jill);
jill.setSpouse(jack);
एक अन्य उदाहरण एक सदस्य के रूप में अन्य उत्पादों के कुछ संग्रह है कि उत्पाद वर्गों होगा। यह संग्रह उदाहरण के लिए उत्पाद हो सकता है कि जो लोग इस उत्पाद में रूचि रखते हैं उन्हें भी रुचि हो सकती है, और हम प्रति-उत्पाद आधार पर उस सूची को बनाए रखना चाहते हैं, न कि साझा साझा विशेषताओं पर (उदाहरण के लिए हम केवल प्रदर्शित नहीं करना चाहते हैं एक ही श्रेणी में अन्य सभी उत्पादों)।
Product pc = new Product("pc");
Product monitor = new Product("monitor");
Product tv = new Product("tv");
pc.setSeeAlso({monitor, tv});
monitor.setSeeAlso({pc});
tv.setSeeAlso(null);
(इन उत्पादों रहे हैं सिर्फ एक बिंदु बनाने के लिए, इस मुद्दे मौसम के बारे में नहीं है या नहीं कुछ उत्पादों एक दूसरे से संबंधित हैं)
यह सामान्य रूप में OOP में बुरा डिजाइन होगा? क्या सभी ओओपी भाषाएं इसे अनुमति देंगी, या क्या यह सिर्फ खराब अभ्यास है? यदि यह बुरा अभ्यास है, तो इसे हल करने का सबसे अच्छा तरीका क्या होगा?
@ जोन लिमजाप: टाइपो को सही करने के लिए धन्यवाद। – tehvan