జావాలో డైనమిక్ బైండింగ్ ఎలా ఉపయోగించాలి?

Javalo Dainamik Bainding Ela Upayogincali



ది ' డైనమిక్ బైండింగ్ ”పాలిమార్ఫిక్ ప్రవర్తనను అనుమతిస్తుంది, ఇక్కడ ఆబ్జెక్ట్ యొక్క పద్ధతి ఆహ్వానం సూచన రకం కాకుండా వస్తువు యొక్క వాస్తవ రకం ఆధారంగా రన్‌టైమ్‌లో నిర్ణయించబడుతుంది. ఇది ఉపవర్గాలను భర్తీ చేయడానికి అనుమతించడం ద్వారా కోడ్ పునర్వినియోగాన్ని ప్రోత్సహిస్తుంది మరియు పేరెంట్ క్లాస్‌లో నిర్వచించిన పద్ధతులను వాటి అమలును అందిస్తుంది.

ఈ బ్లాగ్ జావాలో డైనమిక్ బైండింగ్ యొక్క ఉపయోగం మరియు అమలును ప్రదర్శిస్తుంది.

జావాలో డైనమిక్ బైండింగ్ ఎలా ఉపయోగించాలి?

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







వివరణాత్మక వివరణ కోసం రెండు ఉదాహరణల ద్వారా నడుద్దాం:



ఉదాహరణ 1: డైనమిక్ బైండింగ్‌ని అమలు చేయడం



డైనమిక్ బైండింగ్‌ని ఉపయోగించడం ద్వారా, ప్రోగ్రామర్లు అనుకూలీకరించదగిన అప్లికేషన్‌లను రూపొందించడానికి డిఫాల్ట్ ప్రవర్తనలను అనుకూలీకరించడానికి మరియు భర్తీ చేయడానికి వినియోగదారులను అనుమతించగలరు. ఆచరణాత్మక అమలు కోసం, మనం ఒక ఉదాహరణ ద్వారా నడుద్దాం:





java.util.Arraysని దిగుమతి చేయండి;
java.util.HashSetని దిగుమతి చేయండి;
java.util.Listని దిగుమతి చేయండి;
java.util.Set దిగుమతి;

పబ్లిక్ క్లాస్ DynBind {
పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన ( స్ట్రింగ్ [ ] ఆర్గ్స్ ) {
గేమింగ్ గేమ్ టైప్1 = కొత్త క్రికెట్ ( ) ;
గేమింగ్ గేమ్Type2 = కొత్త CallofDuty ( ) ;
గేమ్టైప్1.గేమ్టైప్ ( ) ;
గేమ్ టైప్ 2. గేమ్ టైప్ ( ) ;
}
}
తరగతి గేమింగ్ {
పబ్లిక్ శూన్య గేమ్ రకం ( ) {
System.out.println ( 'ఫిజికల్ లేదా వర్చువల్ గేమ్‌లు' ) ;
}
}
క్లాస్ క్రికెట్ గేమింగ్‌ను విస్తరించింది {
@ భర్తీ చేయండి
పబ్లిక్ శూన్య గేమ్ రకం ( ) {
System.out.println ( 'క్రికెట్ ఒక భౌతిక ఆట' ) ;
}
}
తరగతి CallofDuty గేమింగ్‌ను విస్తరించింది {
@ భర్తీ చేయండి
పబ్లిక్ శూన్య గేమ్ రకం ( ) {
System.out.println ( 'CallofDuty ఒక వర్చువల్ గేమ్' ) ;
}
}

పై కోడ్ యొక్క వివరణ:



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

అమలు దశ ముగిసిన తర్వాత:

చైల్డ్ క్లాస్‌ల నకిలీ సందేశాలు డైనమిక్ బైండింగ్‌ని ఉపయోగించి కన్సోల్‌లో ప్రదర్శించబడుతున్నాయని అవుట్‌పుట్ ప్రదర్శిస్తుంది.

ఉదాహరణ 2: బహుళస్థాయి వారసత్వాన్ని అమలు చేయడం

బహుళస్థాయి వారసత్వ సృష్టికి డైనమిక్ బైండింగ్ కూడా అమలు చేయబడుతుంది. క్రింద చూపిన విధంగా ఒకే ప్రోగ్రామ్ యొక్క రెండు కోడ్ బ్లాక్‌లు:

తరగతి గేమింగ్ {
పబ్లిక్ శూన్య గేమ్ రకం ( ) {
System.out.println ( 'ఫిజికల్ లేదా వర్చువల్ గేమ్‌లు' ) ;
}
}
క్లాస్ క్రికెట్ గేమింగ్‌ను విస్తరించింది {
@ భర్తీ చేయండి
పబ్లిక్ శూన్య గేమ్ రకం ( ) {
System.out.println ( 'క్రికెట్ ఒక భౌతిక ఆట' ) ;
}
పబ్లిక్ శూన్యమైన ప్లే ఫార్మాట్ ( ) {
System.out.println ( 'క్రికెట్‌లో విభిన్నమైన ఆడే ఫార్మాట్‌లు ఉన్నాయి' ) ;
}
}
తరగతి CallofDuty గేమింగ్‌ను విస్తరించింది {
@ భర్తీ చేయండి
పబ్లిక్ శూన్య గేమ్ రకం ( ) {
System.out.println ( 'CallofDuty ఒక వర్చువల్ గేమ్' ) ;
}
పబ్లిక్ శూన్య గేమ్ మోడ్ ( ) {
System.out.println ( 'CallofDuty బహుళ గేమ్ మోడ్‌లను కలిగి ఉంది' ) ;
}
}
క్లాస్ క్రికెట్ గేమ్ క్రికెట్‌ను విస్తరించింది {
పబ్లిక్ శూన్య గేమ్ మోడ్ ( ) {
System.out.println ( 'క్రికెట్‌లో సింగిల్ గేమ్ మోడ్ ఉంది' ) ;
}
}
తరగతి CallofDutyGame CallofDutyని పొడిగిస్తుంది {
}

పై కోడ్ యొక్క వివరణ:

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

ఇప్పుడు, 'ని చొప్పించండి ప్రధాన () 'పద్ధతి:

పబ్లిక్ క్లాస్ DynBind {
పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన ( స్ట్రింగ్ [ ] ఆర్గ్స్ ) {
CallofDutyGame codg = కొత్త CallofDutyGame ( ) ;
codg.gameType ( ) ;
codg.gameMode ( ) ;

క్రికెట్ గేమ్ cricg = కొత్త క్రికెట్ గేమ్ ( ) ;
cricg.gameType ( ) ;
cricg.playingFormat ( ) ;
cricg.gameMode ( ) ;
}
}

పై కోడ్ యొక్క వివరణ:

  • మొదటిది, ఒక వస్తువు ' CallofDutyGame 'తరగతి సృష్టించబడింది, ఇది దాని మాతృ తరగతుల విధులను పిలుస్తుంది.
  • అదే విధంగా, ' క్రికెట్ గేమ్ ”ఆబ్జెక్ట్ ప్రకటించబడింది, ఇది దాని పేరెంట్ క్లాస్ ఫంక్షన్ అని పిలుస్తుంది, ఇది సోపానక్రమంలో బహుళ స్థాయిలో అందుబాటులో ఉంటుంది.

అమలు దశ ముగిసిన తర్వాత:

జావాలో డైనమిక్ బైండింగ్ ఉపయోగించి బహుళస్థాయి వారసత్వం సృష్టించబడిందని అవుట్‌పుట్ చూపిస్తుంది.

ముగింపు

జావాలో, ' డైనమిక్ బైండింగ్ ” పాలిమార్ఫిజం, కోడ్ పునర్వినియోగం, వశ్యత మరియు విస్తరణ వంటి ప్రయోజనాలను అందిస్తుంది. ఇది వారసత్వ నియమాలు, పద్ధతి ఓవర్‌రైడింగ్ మరియు అప్‌కాస్టింగ్ ద్వారా అమలు చేయబడుతుంది. డైనమిక్ బైండింగ్ రన్‌టైమ్ ఫంక్షన్‌లను కూడా ఎనేబుల్ చేస్తుంది మరియు OOPs కాన్సెప్ట్‌లో సౌకర్యవంతమైన మరియు పాలిమార్ఫిక్ ప్రవర్తనను మెరుగుపరుస్తుంది. జావాలో డైనమిక్ బైండింగ్ యొక్క వినియోగం మరియు అమలు గురించి అంతే.