मैं जावा में किसी वस्तु की प्रतिलिपि कैसे बना सकता हूँ

Maim Java Mem Kisi Vastu Ki Pratilipi Kaise Bana Sakata Hum



जावा में, किसी ऑब्जेक्ट को कॉपी करना प्रभाव में आता है, जहां कोड में पहले से लागू कार्यात्मकताओं को स्क्रैच से फिर से लागू करने के बजाय उपयोग करने की आवश्यकता होती है। साथ ही, निहित अभिलेखों के आधार पर डेटा को अद्यतन करने की बात आने पर यह सहायक होता है। इस तरह, यह कोड की जटिलता और संसाधनों के उपयोग को प्रभावी ढंग से कम करता है।

यह लेख जावा में किसी वस्तु को कॉपी करने के तरीकों को प्रदर्शित करेगा।

मैं जावा में किसी वस्तु की प्रतिलिपि कैसे बना सकता हूँ?

निम्नलिखित दृष्टिकोणों का उपयोग करके जावा में एक वस्तु की प्रतिलिपि बनाई जा सकती है:







के भीतर सभी वर्गों तक पहुँचें ' java.util ” उदाहरणों पर जाने से पहले पैकेज:



आयात जावा। उपयोग . *;

दृष्टिकोण 1: 'कॉपी कंस्ट्रक्टर' का उपयोग करके जावा में किसी वस्तु की प्रतिलिपि बनाना

' कॉपी कंस्ट्रक्टर 'पहले बनाए गए समान वर्ग ऑब्जेक्ट का संदर्भ देकर किसी ऑब्जेक्ट को बनाता/परिभाषित करता है।



उदाहरण
निम्न उदाहरण किसी ऑब्जेक्ट की प्रतिलिपि बनाने के लिए 'कॉपी कन्स्ट्रक्टर' लागू करता है:





जनता कक्षा कॉपीऑब्जेक्ट {
int यहाँ पहचान ;
डोरी शहर ;
कॉपीऑब्जेक्ट ( int यहाँ पहचान , डोरी शहर ) {
यह . पहचान = पहचान ;
यह . शहर = शहर ; }
कॉपीऑब्जेक्ट ( कॉपी ऑब्जेक्ट ऑब्जेक्ट ) {
यह . पहचान = वस्तु। पहचान ;
यह . शहर = वस्तु। शहर ; }
जनता खालीपन दिखाना ( ) {
प्रणाली। बाहर . println ( 'आईडी ->' + यह . पहचान ) ;
प्रणाली। बाहर . println ( 'शहर ->' + यह . शहर ) ; }
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) {
स्कैनर इनपुट = नया चित्रान्वीक्षक ( प्रणाली। में ) ;
प्रणाली। बाहर . println ( 'आईडी दर्ज करें:' ) ;
int यहाँ पहचान = इनपुट। अगलाइंट ( ) ;
प्रणाली। बाहर . println ( 'शहर दर्ज करें:' ) ;
डोरी शहर = इनपुट। अगला ( ) ;
कॉपीऑब्जेक्ट ऑब्जेक्ट 1 = नया कॉपीऑब्जेक्ट ( पहचान , शहर ) ;
कॉपीऑब्जेक्ट ऑब्जेक्ट 2 = नया कॉपीऑब्जेक्ट ( वस्तु1 ) ;
प्रणाली। बाहर . println ( 'डिफ़ॉल्ट वस्तु ->' ) ;
वस्तु1. दिखाना ( ) ;
प्रणाली। बाहर . println ( 'कॉपी की गई वस्तु ->' ) ;
वस्तु2. दिखाना ( ) ;
इनपुट। बंद करना ( ) ;
} }

उपरोक्त कोड स्निपेट में:

  • 'नामक एक वर्ग बनाएँ कॉपीऑब्जेक्ट ”।
  • कक्षा के बताए गए सदस्य चर निर्दिष्ट करें।
  • उसके बाद, एक पैरामिट्रीकृत क्लास कन्स्ट्रक्टर बनाएं जो पास किए गए मानों को 'के माध्यम से निर्दिष्ट चर के लिए आवंटित करता है' यह ”।
  • अब, एक 'बनाएं कॉपी कंस्ट्रक्टर ” जो पहले से निर्मित वर्ग प्रकार की वस्तु को इसके पैरामीटर के रूप में लेता है जिसे बाद में एक तर्क के रूप में पारित किया जाएगा।
  • साथ ही, फ़ंक्शन को परिभाषित करें ' दिखाना() ” जो पारित वस्तु मान प्रदर्शित करता है।
  • में ' मुख्य() 'विधि,' के माध्यम से उपयोगकर्ता इनपुट की अनुमति देने के लिए 'स्कैनर' ऑब्जेक्ट बनाएं सिस्टम.इन 'पैरामीटर।
  • साथ ही, संबद्ध करें ' अगलाइंट () ' और ' अगला() ” क्रमशः पूर्णांक और स्ट्रिंग उपयोगकर्ता इनपुट लेने के तरीके।
  • के माध्यम से एक वर्ग वस्तु बनाएँ नया 'कीवर्ड और' कॉपी ऑब्जेक्ट () ” इसके तर्क के रूप में उपयोगकर्ता इनपुट मान रखने वाला निर्माता।
  • साथ ही, क्लास कॉपी कन्स्ट्रक्टर का संदर्भ देकर कॉपी की गई सामग्री को वापस करने के तर्क के रूप में बनाई गई ऑब्जेक्ट वाली प्रतिलिपि ऑब्जेक्ट बनाएं।
  • अंत में, आह्वान करें ' दिखाना() पास किए गए उपयोगकर्ता इनपुट मानों को प्रदर्शित करने और 'स्कैनर' को बंद करने के लिए 'फ़ंक्शन'।

उत्पादन



इस आउटपुट में, यह निहित किया जा सकता है कि एक कॉपी ऑब्जेक्ट बनाया जाता है और तदनुसार प्रदर्शित किया जाता है।

दृष्टिकोण 2: जावा में 'क्लोन ()' विधि के माध्यम से किसी वस्तु की प्रतिलिपि बनाना

' क्लोन () 'का तरीका' java.lang.Object ” वर्ग एक वस्तु को एक पैरामीटर के रूप में लेता है, बनाता है और इसकी एक प्रति देता है। इस विधि को पहले से बनाई गई वस्तु (जिसे कॉपी करने की आवश्यकता है) और 'क्लोन ()' विधि का हवाला देकर किसी वस्तु को कॉपी करने के लिए लागू किया जा सकता है।

वाक्य - विन्यास

वस्तु। क्लोन ( )

यह विधि वस्तु की एक प्रति देती है और 'फेंकती है' क्लोननॉटसमर्थित अपवाद 'यदि ऑब्जेक्ट का वर्ग' क्लोन करने योग्य 'इंटरफ़ेस को लागू/लागू नहीं करता है।

उदाहरण
कोड की निम्न पंक्तियों के माध्यम से जाओ:

जनता कक्षा कॉपीऑब्जेक्ट औजार क्लोन करने योग्य {
int यहाँ पहचान ;
डोरी शहर ;
कॉपीऑब्जेक्ट ( int यहाँ पहचान , डोरी शहर ) {
यह . पहचान = पहचान ;
यह . शहर = शहर ;
}
जनता खालीपन दिखाना ( ) {
प्रणाली। बाहर . println ( 'आईडी ->' + यह . पहचान ) ;
प्रणाली। बाहर . println ( 'शहर ->' + यह . शहर ) ;
}
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) फेंकता क्लोननॉटसमर्थित अपवाद {
स्कैनर इनपुट = नया चित्रान्वीक्षक ( प्रणाली। में ) ;
प्रणाली। बाहर . println ( 'आईडी दर्ज करें:' ) ;
int यहाँ पहचान = इनपुट। अगलाइंट ( ) ;
प्रणाली। बाहर . println ( 'शहर दर्ज करें:' ) ;
डोरी शहर = इनपुट। अगला ( ) ;
कॉपीऑब्जेक्ट ऑब्जेक्ट 1 = नया कॉपीऑब्जेक्ट ( पहचान , शहर ) ;
प्रणाली। बाहर . println ( 'डिफ़ॉल्ट वस्तु ->' ) ;
वस्तु1. दिखाना ( ) ;
प्रणाली। बाहर . println ( 'कॉपी की गई वस्तु ->' ) ;
कॉपीऑब्जेक्ट ऑब्जेक्ट 2 = ( कॉपीऑब्जेक्ट ) वस्तु1. क्लोन ( ) ;
वस्तु2. दिखाना ( ) ;
इनपुट। बंद करना ( ) ;
} }

उपरोक्त कोड ब्लॉक के अनुसार, नीचे बताए गए चरणों का पालन करें:

  • एक वर्ग को परिभाषित करने के लिए चर्चा किए गए दृष्टिकोणों को याद करें, सदस्य चर निर्दिष्ट करें, एक पैरामीटरयुक्त वर्ग निर्माता (उत्तीर्ण मूल्यों को आवंटित करना) बनाना, और क्रमशः मूल्यों को प्रदर्शित करने के लिए एक फ़ंक्शन को परिभाषित करना।
  • अभी इसमें ' मुख्य() ”, इसी तरह, उपयोगकर्ता-इनपुट मान और इन मानों को बनाए गए वर्ग ऑब्जेक्ट में पास करें और उन्हें संबंधित फ़ंक्शन के माध्यम से प्रदर्शित करें।
  • उसके बाद, ' क्लोन () ' विधि प्रभाव में आती है जो कॉपी ऑब्जेक्ट बनाने के लिए पहले से बनाई गई वस्तु से जुड़ी होती है।
  • अंत में, कॉपी किए गए ऑब्जेक्ट की सामग्री को चर्चा किए गए फ़ंक्शन के माध्यम से भी प्रदर्शित करें।

उत्पादन

इस परिणाम में, यह देखा जा सकता है कि उपयोगकर्ता इनपुट मान दो बार समान परिणामों के साथ लौटाए जाते हैं, यह सुनिश्चित करते हुए कि क्लास ऑब्जेक्ट को उचित रूप से कॉपी किया गया है।

निष्कर्ष

Java में “का उपयोग करके एक वस्तु की प्रतिलिपि बनाई जा सकती है। कॉपी कंस्ट्रक्टर ', या ' क्लोन () ' तरीका। पूर्व दृष्टिकोण पहले से निर्मित वस्तु को कॉपी कंस्ट्रक्टर तर्क के रूप में ले कर वस्तु की प्रतिलिपि बनाता है। बाद वाला दृष्टिकोण सीधे निर्मित क्लास ऑब्जेक्ट से जुड़ा हुआ है। इस राइट-अप ने जावा में किसी वस्तु को कॉपी करने के तरीकों का प्रदर्शन किया।