అనేక ప్రోగ్రామింగ్ భాషలలో జావా ఒకటి . అంటే జావాలో ప్రోగ్రామింగ్ చేస్తున్నప్పుడు మనకు డేటా అబ్స్ట్రాక్షన్, పాలిమార్ఫిజం, ఇన్హెరిటెన్స్ మొదలైన అన్ని శక్తివంతమైన లక్షణాలు ఉన్నాయి. అన్ని OOP లక్షణాల యొక్క ప్రధాన అంశం తరగతులు మరియు వస్తువుల అమలు మరియు ఒకదానితో ఒకటి పరస్పర చర్య. ఈ వ్యాసంలో పారామిటరైజ్డ్ కన్స్ట్రక్టర్లను ఉపయోగించి ఒక వస్తువును ఎలా ప్రారంభించాలో ప్రత్యేకంగా పరిశీలిస్తాము . యొక్క ప్రాథమిక అవగాహన దయచేసి గమనించండి మీరు కన్స్ట్రక్టర్లకు కొనసాగడానికి ముందు అవసరం.
ఫైబొనాక్సీ సి ++ కోడ్
- కన్స్ట్రక్టర్ అంటే ఏమిటి?
- డిఫాల్ట్ కన్స్ట్రక్టర్ vs పారామీటర్ చేయబడిన కన్స్ట్రక్టర్
- వస్తువులను వాదనలుగా దాటడం
- పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ నుండి డిఫాల్ట్ కన్స్ట్రక్టర్ను పిలుస్తుంది
- కన్స్ట్రక్టర్ ఓవర్లోడింగ్
కన్స్ట్రక్టర్ అంటే ఏమిటి?
కన్స్ట్రక్టర్ అనేది ప్రాథమికంగా ఒక తరగతి, ఆ తరగతి నుండి ఒక వస్తువు (ఉదాహరణ) సృష్టించబడినప్పుడు స్వయంచాలకంగా పిలువబడుతుంది. ఇది వస్తువు యొక్క డేటా సభ్యులను ప్రారంభించడానికి ఉపయోగించబడుతుంది.
పబ్లిక్ క్లాస్ ఎడురేకా {ఎడురేకా () {System.out.println ('కన్స్ట్రక్టర్ తయారు చేయబడింది')}}
కన్స్ట్రక్టర్ యొక్క కొన్ని లక్షణాలు:
- దీనికి తరగతి పేరుకు సమానమైన పేరు ఉంది
- దీనికి రిటర్న్ రకం లేదు
కన్స్ట్రక్టర్ రకాలు
- డిఫాల్ట్ కన్స్ట్రక్టర్
- పారామీటర్ చేయబడిన కన్స్ట్రక్టర్
డిఫాల్ట్ కన్స్ట్రక్టర్ vs పారామీటర్ చేయబడిన కన్స్ట్రక్టర్
డిఫాల్ట్ కన్స్ట్రక్టర్ - పరామితిని అంగీకరించని కన్స్ట్రక్టర్ను డిఫాల్ట్ కన్స్ట్రక్టర్ అంటారు. మీ తరగతి నిర్వచనంలో కన్స్ట్రక్టర్ బ్లాక్ ఉండటం అవసరం లేదు. మీరు కన్స్ట్రక్టర్ను స్పష్టంగా వ్రాయకపోతే, కంపైలర్ స్వయంచాలకంగా మీ కోసం ఒకదాన్ని చొప్పిస్తుంది.
జావాలో డిఫాల్ట్ కన్స్ట్రక్టర్ను వివరించే ఉదాహరణ:
పబ్లిక్ క్లాస్ ఎడురేకా {ఎడురేకా () {System.out.println ('నేను ఒక కన్స్ట్రక్టర్')} పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ (స్ట్రింగ్ అర్గ్స్ []) {ఎడురేకా ఆబ్ = కొత్త ఎడురేకా ()}}
అవుట్పుట్: నేను కన్స్ట్రక్టర్
పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ - ఒక నిర్దిష్ట సంఖ్యలో పారామితులను అంగీకరించినప్పుడు ఒక కన్స్ట్రక్టర్ను పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ అంటారు. విభిన్న విలువలతో తరగతి యొక్క డేటా సభ్యులను ప్రారంభించడానికి.
పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ను వివరించే ఉదాహరణ:
పబ్లిక్ క్లాస్ ఎడురేకా {స్ట్రింగ్ స్టూడెంట్ నేమ్ ఇంట్ స్టూడెంట్ ఏజ్ // కన్స్ట్రక్టర్ ఎడురేకా (స్ట్రింగ్ పేరు, పూర్ణాంక వయస్సు) {స్టూడెంట్ నేమ్ = పేరు స్టూడెంట్ ఏజ్ = ఏజ్} శూన్య ప్రదర్శన () {System.out.println (స్టూడెంట్ నేమ్ + '+ స్టూడెంట్ ఏజ్)} పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ ( స్ట్రింగ్ అర్గ్స్ []) {ఎడురేకా myObj = కొత్త ఎడురేకా ('మనన్', 19) myObj.display ()}}
అవుట్పుట్: మనన్ -19
పై ఉదాహరణలో, మేము వస్తువుకు స్ట్రింగ్ మరియు పూర్ణాంకాన్ని పంపుతున్నాము. కన్స్ట్రక్టర్ ఆమోదించిన విలువలను ఉపయోగించి స్టూడెంట్ నేమ్ మరియు స్టూడెంట్ ఏజ్ ను ప్రారంభిస్తాడు. ప్రదర్శన పద్ధతి అప్పుడు కావలసిన అవుట్పుట్ ఇస్తుంది.
తరగతి కోసం పారామీటర్ చేయబడిన కన్స్ట్రక్టర్తో, ఒకరు ప్రారంభ విలువలను వాదనలుగా అందించాలి, లేకపోతే, కంపైలర్ లోపాన్ని నివేదిస్తుంది.
వస్తువులను వాదనలుగా దాటడం
తరగతి యొక్క ఇతర సందర్భాలను సృష్టించేటప్పుడు మనం వాదనలు కూడా పంపవచ్చు. ఈ విధంగా పారామీటర్ చేయబడిన కన్స్ట్రక్టర్లు ఒక వస్తువు యొక్క విలువలను మరొకదానికి కాపీ చేయవలసిన అవసరాన్ని నెరవేరుస్తారు.
ప్రయాణిస్తున్న వస్తువులను వాదనలుగా వివరించే ఉదాహరణ:
పబ్లిక్ క్లాస్ ఎడురేకా {స్ట్రింగ్ స్టూడెంట్ నేమ్ ఎడురేకా (స్ట్రింగ్ పేరు) {స్టూడెంట్ నేమ్ = పేరు} ఎడురేకా (ఎడురేకా మై ఓబ్జ్) {this.studentName = myObj.studentName} శూన్య ప్రదర్శన () {System.out.println ('విద్యార్థి:' + విద్యార్థి పేరు)} పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ (స్ట్రింగ్ అర్గ్స్ []) {ఎడురేకా ఆబ్జ్ 1 = కొత్త ఎడురేకా ('మనన్') / * వస్తువును కన్స్ట్రక్టర్ కోసం వాదనగా దాటడం * ఇది కాపీ కన్స్ట్రక్టర్ను పిలుస్తుంది * / ఎడురేకా ఆబ్జ్ 2 = కొత్త ఎడురేకా (ఆబ్జెక్ట్ 1) సిస్టమ్. out.println ('ప్రింటింగ్ obj1 -') obj1.display () System.out.println ('ప్రింటింగ్ obj2 -') obj2.display ()}}
అవుట్పుట్:
ప్రింటింగ్ ఆబ్జెక్ట్ 1 -మనన్ప్రింటింగ్ ఆబ్జెక్ట్ 2 -మనన్
పై ఉదాహరణలో, మేము స్ట్రింగ్ ఉపయోగించి ఆబ్జెక్ట్ 1 ను ప్రారంభిస్తాము. ఆబ్జెక్ట్ 2 ను సృష్టించేటప్పుడు మేము ఆబ్జెక్ట్ 1 ను ఆర్గ్యుమెంట్గా పాస్ చేస్తాము. చివరగా, డిస్ప్లే ఫంక్షన్ ఉపయోగించి ఆబ్జెక్ట్ యొక్క స్టూడెంట్ నేమ్ వేరియబుల్ రెండింటినీ ప్రింట్ చేసినప్పుడు మనకు “మనన్” వస్తుంది.
జావాలోని పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ నుండి డిఫాల్ట్ కన్స్ట్రక్టర్ను పిలుస్తోంది
కొన్నిసార్లు అదే తరగతికి చెందిన మరొక కన్స్ట్రక్టర్ నుండి డిఫాల్ట్ కన్స్ట్రక్టర్ను పిలవవలసిన అవసరం ఉంది. ఈ కీవర్డ్ ఈ ప్రయోజనం నెరవేరుస్తుంది.
పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ నుండి డిఫాల్ట్ కన్స్ట్రక్టర్కు కాల్ వివరించే ఉదాహరణ:
పబ్లిక్ క్లాస్ ఎడురేకా {స్ట్రింగ్ స్టూడెంట్ నేమ్ స్టూడెంట్ ఏజ్ స్ట్రింగ్ సభ్యుడు ఎడురేకా () {సభ్యుడు = 'అవును'} ఎడురేకా (స్ట్రింగ్ పేరు, పూర్ణాంక వయస్సు) {ఇది () / * ఇది పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ నుండి డిఫాల్ట్ కన్స్ట్రక్టర్ * అని పిలవడానికి ఉపయోగించబడుతుంది * / studentName = పేరు studentAge = age} void display () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + member)} పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ అర్గ్స్ []) {Edureka obj = new Edureka ('మనన్', 21) obj.display ()}}
అవుట్పుట్: మనన్ - 21 - సభ్యుడు అవును
పై ఉదాహరణలో, పారామిటరైజ్డ్ కన్స్ట్రక్టర్ ఇన్వోక్ చేసినప్పుడు, ఇది మొదట ఈ () కీవర్డ్ సహాయంతో డిఫాల్ట్ కన్స్ట్రక్టర్ అని పిలుస్తుంది. డిఫాల్ట్ కన్స్ట్రక్టర్ “సభ్యుడు” వేరియబుల్ను “అవును” కు ప్రారంభించి, ఆపై పారామీటర్ చేయబడిన కన్స్ట్రక్టర్ను అమలు చేయడం కొనసాగిస్తుంది.
కన్స్ట్రక్టర్ ఓవర్లోడింగ్
కన్స్ట్రక్టర్ ఇతర తరగతుల మాదిరిగానే పద్ధతి ఓవర్లోడింగ్కు మద్దతు ఇస్తుంది. వివిధ రకాలు లేదా వాదనల సంఖ్య ఆధారంగా, వేర్వేరు కన్స్ట్రక్టర్లను పిలుస్తారు.
కన్స్ట్రక్టర్ ఓవర్లోడింగ్ను వివరించే ఉదాహరణ:
పబ్లిక్ క్లాస్ దీర్ఘచతురస్రం {int పొడవు int వెడల్పు స్ట్రింగ్ రంగు // కన్స్ట్రక్టర్ 1 దీర్ఘచతురస్రం (int l, int b) {length = l width = b color = 'Green'} // కన్స్ట్రక్టర్ 2 దీర్ఘచతురస్రం (int l, int b, string c) {length = l width = b color = c} void display () {System.out.println ('పొడవు-' + పొడవు + 'వెడల్పు-' + వెడల్పు + 'రంగు' + రంగు)} పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ అర్గ్స్ [ ]) {దీర్ఘచతురస్రం obj1 = కొత్త దీర్ఘచతురస్రం (2,4) దీర్ఘచతురస్రం obj2 = కొత్త దీర్ఘచతురస్రం (2,4, 'ఆకుపచ్చ') obj1.display () obj2.display ()}}
అవుట్పుట్: పొడవు - 2 వెడల్పు - 4 రంగు - ఆకుపచ్చపొడవు - 2 వెడల్పు - 4 రంగు - ఎరుపు
కన్స్ట్రక్టర్లు అంటే ఏమిటి మరియు వారితో ఎలా పని చేయాలనే దానిపై మీకు ఇప్పుడు పట్టు ఉంది, మీరు జావా నేర్చుకోవడానికి మీ ప్రయాణంలో ఒక అడుగు దగ్గరగా ఉన్నారు. కన్స్ట్రక్టర్స్ వంటి భావనలు సరళమైనవి కాని అవి తరగతులు మరియు వస్తువులను కలిగి ఉన్నందున చాలా ముఖ్యమైనవి. మరింత లోతైన విషయాలు మరియు సరదా రీడ్ల కోసం, ఎడురేకాకు నమోదు చేయండి . మా చెక్అవుట్ చేయడానికి సంకోచించకండి మీ అభ్యాసాన్ని కిక్స్టార్ట్ చేయడానికి.
మాకు ప్రశ్న ఉందా? దయచేసి ఈ ‘జావాలోని పారామీటరైజ్డ్ కన్స్ట్రక్టర్’ వ్యాసంలోని వ్యాఖ్యల విభాగంలో దీనిని ప్రస్తావించండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.