vb6 या जावा में ऑब्जेक्ट क्लोनिंग क्या है? हम किस स्थिति में क्लोन का उपयोग करते हैं? क्लोनिंग ऑब्जेक्ट्स का मतलब क्या है? क्या कोई मुझे उदाहरण के साथ बता सकता है।क्लोन() ऑब्जेक्ट को क्लोन करने का क्या अर्थ है?
उत्तर
क्लोनिंग वास्तव में ऑब्जेक्ट डेटा को एक नई वस्तु में कॉपी कर रहा है।
यह उदाहरण डेटा क्लोन नहीं करता है:
Foo p = new Foo();
Foo o = p;
तो Foo
एक सदस्य a
है और आप p.a
तो o.a
भी क्योंकि दोनों p
और o
बिंदु एक ही वस्तु में बदल जाती है बदल जाते हैं।
हालांकि,
Foo p = new Foo();
Foo o = p.Clone();
इस मामले में अगर आप p.a
तो o.a
बदल क्योंकि वे वास्तव में वस्तुओं को अलग करने के बात ही रहता है।
वास्तव में क्लोन कर सकते हैं दो अलग-अलग तरीके: उथले क्लोन या गहरे क्लोन।
एक उथले क्लोन सिर्फ एक नई वस्तु बनाता है और सदस्यों को नई वस्तु में प्रतिलिपि बनाता है। इसका अर्थ यह है कि यदि सदस्यों में से एक वास्तव में किसी अन्य वस्तु के लिए सूचक है तो उस ऑब्जेक्ट को पुराने ऑब्जेक्ट और नई ऑब्जेक्ट के बीच साझा किया जाएगा।
एक गहरा क्लोन वास्तव में सभी सदस्यों को नए ऑब्जेक्ट में चलाता है और क्लोन करता है। इस तरह ऑब्जेक्ट्स सभी डेटा की पूरी प्रतियां हैं।
बीटीडब्ल्यू, क्लोनिंग का एक तीसरा तरीका है - एक अर्थपूर्ण स्तर का क्लोन। उदाहरण का अर्थपूर्ण स्तर का क्लोन एक सूची
@supercat - सूची के उथले क्लोन से अलग कैसे है? – Aaron
@Aaron: मान लीजिए कि एक संग्रह को सरणी के संदर्भ के रूप में लागू किया गया है, इस बात की गिनती के साथ कि कितने आइटम मान्य हैं। इस तरह के संग्रह वाले किसी ऑब्जेक्ट का एक उथला क्लोन एक प्रतिलिपि वैध-आइटम गणना के साथ एक नई वस्तु होगी, लेकिन मूल के समान तत्वों का संदर्भ होगा। एक सेमेटिक-स्तरीय क्लोन में कॉपी की गई गणना और सरणी के उथले क्लोन का संदर्भ होगा। – supercat
सामान्य बोलने वाली वस्तुओं संदर्भ द्वारा पारित की जाती हैं। तो यदि आप $objB=$objA
कहते हैं तो आपको एक नई वस्तु नहीं मिल रही है; आपको एक ही वस्तु के लिए एक नया नाम मिल रहा है। हालांकि, अगर आप $objB= clone $objA
कहते हैं तो आपको $objA
की एक प्रति प्राप्त होती है। पहले मामले में, जो भी आप $objB
पर करते हैं $objA
पर भी होता है। दूसरे मामले में, $objB
स्वतंत्र है।
- 1. PHP गहरी क्लोन ऑब्जेक्ट
- 2. ऑब्जेक्ट क्लोनिंग क्लोन करने योग्य इंटरफ़ेस
- 3. क्लोन() विधि
- 4. CloneNotSupportedException क्लोन करने योग्य
- 5. इसका मतलब गिटहब भंडार क्लोन क्या है?
- 6. सिल्वरलाइट में किसी व्यावसायिक ऑब्जेक्ट को क्लोन करने का सबसे अच्छा तरीका क्या है?
- 7. एक परिवर्तनीय स्कैला ऑब्जेक्ट को गहराई से क्लोन (कॉपी) करने का सबसे आसान तरीका क्या है?
- 8. क्या क्लोन jQuery ऑब्जेक्ट की ऊंचाई प्राप्त करना संभव है?
- 9. Hgsubversion SVN क्लोन को
- 10. ऑब्जेक्ट को उप-वर्ग ऑब्जेक्ट में "क्लोन" कैसे करें?
- 11. इस क्लोन() के साथ क्या गलत है?
- 12. जीआईटी - क्लोन
- 13. जावा: क्लोन विधि
- 14. NHibernate में ऑब्जेक्ट क्लोन कैसे करें?
- 15. गिट क्लोन
- 16. Minecraft क्लोन
- 17. एक पायथन जनरेटर ऑब्जेक्ट क्लोन कैसे करें?
- 18. ग्रेगोरियन कैलेंडर को क्लोन करने का सबसे तेज़ तरीका?
- 19. क्लोन तत्व
- 20. जावा: क्लोन विधि उल्लंघन
- 21. Farmville क्लोन
- 22. सी # क्लोन एक स्टैक
- 23. क्या Git क्लोन --mirror और Git क्लोन के बीच का अंतर है
- 24. गिट हुक: क्या क्लोन हुक है?
- 25. जावा में क्लोन() विधि
- 26. गिट - क्लोन से मास्टर को
- 27. क्लोन पीएचपी उदाहरण उपयोग का
- 28. एंड्रॉइड में किसी ऑब्जेक्ट को क्लोन कैसे करें?
- 29. क्लोन कैसे करें() स्ट्रिंगबिल्डर
- 30. सहायक क्लोन का निरीक्षण करें
अनुभवी लोगों के लिए स्पष्ट लगता है, लेकिन शुरुआती लोग अक्सर "अरे के साथ संघर्ष करते हैं, जब मैंने यह 'अन्य' एक बदल दिया तो मेरी वस्तु क्यों बदल गई। यह अहसास है कि नाम मूल रूप से पॉइंटर्स को गठबंधन करते हैं धीरे-धीरे आते हैं (और क्लोनिंग को समझना उस प्रक्रिया को बहुत तेज़ करता है)। –