జావాలో ఆబ్జెక్ట్‌ని ఎలా కాపీ చేయాలి

Javalo Abjekt Ni Ela Kapi Ceyali



జావాలో, ఒక వస్తువును కాపీ చేయడం అమలులోకి వస్తుంది, ఇక్కడ కోడ్‌లో ఇప్పటికే అమలు చేయబడిన కార్యాచరణలను మొదటి నుండి మళ్లీ వర్తింపజేయడానికి బదులుగా వాటిని ఉపయోగించాల్సిన అవసరం ఉంది. అలాగే, ఇందులో ఉన్న రికార్డుల ఆధారంగా డేటాను అప్‌డేట్ చేయడానికి ఇది సహాయకరంగా ఉంటుంది. ఈ విధంగా, ఇది కోడ్ సంక్లిష్టతను మరియు వనరుల వినియోగాన్ని సమర్థవంతంగా తగ్గిస్తుంది.

ఈ కథనం జావాలో వస్తువును కాపీ చేసే విధానాలను ప్రదర్శిస్తుంది.

జావాలో ఆబ్జెక్ట్‌ని ఎలా కాపీ చేయాలి?

కింది విధానాలను ఉపయోగించి ఒక వస్తువును జావాలో కాపీ చేయవచ్చు:







'లోని అన్ని తరగతులను యాక్సెస్ చేయండి java.util ఉదాహరణలకు వెళ్లే ముందు ప్యాకేజీ:



దిగుమతి జావా ఉపయోగపడుతుంది . *;

విధానం 1: “కాపీ కన్‌స్ట్రక్టర్” ఉపయోగించి జావాలో ఒక వస్తువును కాపీ చేయడం

ది ' కాపీ కన్స్ట్రక్టర్ ” గతంలో సృష్టించిన అదే తరగతి వస్తువును సూచించడం ద్వారా ఒక వస్తువును సృష్టిస్తుంది/నిర్వచిస్తుంది.



ఉదాహరణ
కింది ఉదాహరణ ఆబ్జెక్ట్‌ను కాపీ చేయడానికి “కాపీ కన్‌స్ట్రక్టర్”ని వర్తిస్తుంది:





ప్రజా తరగతి కాపీఆబ్జెక్ట్ {
int id ;
స్ట్రింగ్ నగరం ;
కాపీఆబ్జెక్ట్ ( int id , స్ట్రింగ్ నగరం ) {
ఇది . id = id ;
ఇది . నగరం = నగరం ; }
కాపీఆబ్జెక్ట్ ( కాపీ ఆబ్జెక్ట్ వస్తువు ) {
ఇది . id = వస్తువు. id ;
ఇది . నగరం = వస్తువు. నగరం ; }
ప్రజా శూన్యం ప్రదర్శన ( ) {
వ్యవస్థ. బయటకు . println ( 'ID ->' + ఇది . id ) ;
వ్యవస్థ. బయటకు . println ( 'నగరం ->' + ఇది . నగరం ) ; }
ప్రజా స్థిరమైన శూన్యం ప్రధాన ( స్ట్రింగ్ [ ] ఆర్గ్స్ ) {
స్కానర్ ఇన్‌పుట్ = కొత్త స్కానర్ ( వ్యవస్థ. లో ) ;
వ్యవస్థ. బయటకు . println ( 'ఐడిని నమోదు చేయండి:' ) ;
int id = ఇన్పుట్. తదుపరిఇంట్ ( ) ;
వ్యవస్థ. బయటకు . println ( 'నగరంలోకి ప్రవేశించండి:' ) ;
స్ట్రింగ్ నగరం = ఇన్పుట్. తరువాత ( ) ;
కాపీఆబ్జెక్ట్ ఆబ్జెక్ట్1 = కొత్త కాపీఆబ్జెక్ట్ ( id , నగరం ) ;
కాపీఆబ్జెక్ట్ ఆబ్జెక్ట్2 = కొత్త కాపీఆబ్జెక్ట్ ( వస్తువు1 ) ;
వ్యవస్థ. బయటకు . println ( 'డిఫాల్ట్ ఆబ్జెక్ట్ ->' ) ;
వస్తువు1. ప్రదర్శన ( ) ;
వ్యవస్థ. బయటకు . println ( 'కాపీడ్ ఆబ్జెక్ట్ ->' ) ;
వస్తువు2. ప్రదర్శన ( ) ;
ఇన్పుట్. దగ్గరగా ( ) ;
} }

పై కోడ్ స్నిప్పెట్‌లో:

  • ' పేరుతో తరగతిని సృష్టించండి కాపీఆబ్జెక్ట్ ”.
  • క్లాస్‌లో పేర్కొన్న మెంబర్ వేరియబుల్స్‌ను పేర్కొనండి.
  • ఆ తర్వాత, పేర్కొన్న వేరియబుల్స్‌కు పాస్ చేసిన విలువలను '' ద్వారా కేటాయించే పారామిటరైజ్డ్ క్లాస్ కన్‌స్ట్రక్టర్‌ను సృష్టించండి. ఇది ”.
  • ఇప్పుడు, 'ని సృష్టించండి కాపీ కన్స్ట్రక్టర్ ” ఇది ఇప్పటికే సృష్టించబడిన క్లాస్ టైప్ ఆబ్జెక్ట్‌ని దాని పారామీటర్‌గా తీసుకుంటుంది, అది తర్వాత ఆర్గ్యుమెంట్‌గా పాస్ చేయబడుతుంది.
  • అలాగే, ఫంక్షన్ నిర్వచించండి ' ప్రదర్శన() ” అది ఆమోదించబడిన వస్తువు విలువలను ప్రదర్శిస్తుంది.
  • లో ' ప్రధాన () ” పద్ధతి, “ ద్వారా వినియోగదారు ఇన్‌పుట్‌ను అనుమతించడానికి “స్కానర్” ఆబ్జెక్ట్‌ను తయారు చేయండి System.in ”పరామితి.
  • అలాగే, అనుబంధించండి ' nextInt() 'మరియు' తరువాత() ” వరుసగా పూర్ణాంకం మరియు స్ట్రింగ్ వినియోగదారు ఇన్‌పుట్‌లను తీసుకునే పద్ధతులు.
  • '' ద్వారా తరగతి వస్తువును సృష్టించండి కొత్త 'కీవర్డ్ మరియు' కాపీఆబ్జెక్ట్() ” కన్స్ట్రక్టర్ వినియోగదారు ఇన్‌పుట్ విలువలను ఆర్గ్యుమెంట్‌లుగా కలిగి ఉంది.
  • అలాగే, క్లాస్ కాపీ కన్‌స్ట్రక్టర్‌ను సూచించడం ద్వారా కాపీ చేసిన కంటెంట్‌లను తిరిగి ఇవ్వడానికి సృష్టించిన వస్తువును దాని వాదనగా కలిగి ఉన్న కాపీ ఆబ్జెక్ట్‌ను సృష్టించండి.
  • చివరగా, 'ని పిలవండి ప్రదర్శన() పాస్ చేసిన వినియోగదారు ఇన్‌పుట్ విలువలను ప్రదర్శించడానికి మరియు 'స్కానర్'ని మూసివేయడానికి 'ఫంక్షన్.

అవుట్‌పుట్



ఈ అవుట్‌పుట్‌లో, కాపీ ఆబ్జెక్ట్ సృష్టించబడి, తదనుగుణంగా ప్రదర్శించబడుతుందని సూచించవచ్చు.

విధానం 2: “క్లోన్()” పద్ధతి ద్వారా జావాలో ఒక వస్తువును కాపీ చేయడం

ది ' క్లోన్ () 'పద్ధతి' java.lang.Object ” తరగతి ఒక వస్తువును పారామీటర్‌గా తీసుకుంటుంది, దాని కాపీని సృష్టిస్తుంది మరియు ఇస్తుంది. ఈ పద్ధతిని ఇప్పటికే సృష్టించిన వస్తువు (కాపీ చేయాల్సిన) మరియు “క్లోన్()” పద్ధతిని సూచించడం ద్వారా ఒక వస్తువును కాపీ చేయడానికి అమలు చేయవచ్చు.

వాక్యనిర్మాణం

వస్తువు. క్లోన్ ( )

ఈ పద్ధతి వస్తువు యొక్క కాపీని ఇస్తుంది మరియు విసురుతాడు ' CloneNotSupportedException ”ఆబ్జెక్ట్ యొక్క క్లాస్ “క్లోనబుల్” ఇంటర్‌ఫేస్‌ను అమలు చేయకపోతే/వర్తించకపోతే.

ఉదాహరణ
కోడ్ యొక్క క్రింది పంక్తుల ద్వారా వెళ్ళండి:

ప్రజా తరగతి కాపీఆబ్జెక్ట్ అమలు చేస్తుంది క్లోన్ చేయదగినది {
int id ;
స్ట్రింగ్ నగరం ;
కాపీఆబ్జెక్ట్ ( int id , స్ట్రింగ్ నగరం ) {
ఇది . id = id ;
ఇది . నగరం = నగరం ;
}
ప్రజా శూన్యం ప్రదర్శన ( ) {
వ్యవస్థ. బయటకు . println ( 'ID ->' + ఇది . id ) ;
వ్యవస్థ. బయటకు . println ( 'నగరం ->' + ఇది . నగరం ) ;
}
ప్రజా స్థిరమైన శూన్యం ప్రధాన ( స్ట్రింగ్ [ ] ఆర్గ్స్ ) విసురుతాడు CloneNotSupportedException {
స్కానర్ ఇన్‌పుట్ = కొత్త స్కానర్ ( వ్యవస్థ. లో ) ;
వ్యవస్థ. బయటకు . println ( 'ఐడిని నమోదు చేయండి:' ) ;
int id = ఇన్పుట్. తదుపరిఇంట్ ( ) ;
వ్యవస్థ. బయటకు . println ( 'నగరంలోకి ప్రవేశించండి:' ) ;
స్ట్రింగ్ నగరం = ఇన్పుట్. తరువాత ( ) ;
కాపీఆబ్జెక్ట్ ఆబ్జెక్ట్1 = కొత్త కాపీఆబ్జెక్ట్ ( id , నగరం ) ;
వ్యవస్థ. బయటకు . println ( 'డిఫాల్ట్ ఆబ్జెక్ట్ ->' ) ;
వస్తువు1. ప్రదర్శన ( ) ;
వ్యవస్థ. బయటకు . println ( 'కాపీడ్ ఆబ్జెక్ట్ ->' ) ;
కాపీఆబ్జెక్ట్ ఆబ్జెక్ట్2 = ( కాపీఆబ్జెక్ట్ ) వస్తువు1. క్లోన్ ( ) ;
వస్తువు2. ప్రదర్శన ( ) ;
ఇన్పుట్. దగ్గరగా ( ) ;
} }

పై కోడ్ బ్లాక్ ప్రకారం, దిగువ పేర్కొన్న దశలను చేయండి:

  • క్లాస్‌ని నిర్వచించడం, మెంబర్ వేరియబుల్స్‌ని పేర్కొనడం, పారామిటరైజ్డ్ క్లాస్ కన్‌స్ట్రక్టర్‌ను సృష్టించడం (పాస్ చేసిన విలువలను కేటాయించడం) మరియు వరుసగా విలువలను ప్రదర్శించడానికి ఫంక్షన్‌ను నిర్వచించడం కోసం చర్చించిన విధానాలను గుర్తుకు తెచ్చుకోండి.
  • ఇప్పుడు, 'లో ప్రధాన () ”, అదేవిధంగా, వినియోగదారు-ఇన్‌పుట్ విలువలను మరియు ఈ విలువలను సృష్టించిన క్లాస్ ఆబ్జెక్ట్‌కు పంపి, సంబంధిత ఫంక్షన్ ద్వారా వాటిని ప్రదర్శిస్తుంది.
  • ఆ తరువాత, ' క్లోన్ () ” పద్ధతి అమలులోకి వస్తుంది, ఇది కాపీ ఆబ్జెక్ట్‌ను సృష్టించడానికి ఇప్పటికే సృష్టించబడిన వస్తువుతో అనుబంధించబడింది.
  • చివరగా, చర్చించబడిన ఫంక్షన్ ద్వారా కాపీ చేయబడిన ఆబ్జెక్ట్ కంటెంట్‌లను ప్రదర్శించండి.

అవుట్‌పుట్

ఈ ఫలితంలో, వినియోగదారు ఇన్‌పుట్ విలువలు ఒకే విధమైన ఫలితాలతో రెండుసార్లు అందించబడి, క్లాస్ ఆబ్జెక్ట్ సముచితంగా కాపీ చేయబడిందని నిర్ధారిస్తుంది.

ముగింపు

ఒక వస్తువును జావాలో కాపీ చేయవచ్చు ' కాపీ కన్స్ట్రక్టర్ ', లేదా ' క్లోన్ () ” పద్ధతి. మునుపటి విధానం ఇప్పటికే సృష్టించబడిన వస్తువును కాపీ కన్స్ట్రక్టర్ వాదనగా తీసుకోవడం ద్వారా ఆబ్జెక్ట్‌ను కాపీ చేస్తుంది. తరువాతి విధానం సృష్టించబడిన తరగతి వస్తువుతో నేరుగా అనుబంధించబడింది. ఈ వ్రాత జావాలో ఒక వస్తువును కాపీ చేసే విధానాలను ప్రదర్శించింది.