CodeGym /కోర్సులు /జావా కోర్ /వియుక్త తరగతులను ఎలా ఉపయోగించాలి

వియుక్త తరగతులను ఎలా ఉపయోగించాలి

జావా కోర్
స్థాయి, పాఠం
అందుబాటులో ఉంది

"హలో, అమిగో! నిన్న మీరు అబ్‌స్ట్రాక్ట్ తరగతుల్లో చదువుకున్నారు. ఇప్పుడు మన జ్ఞానాన్ని మరింతగా పెంచుకునే సమయం వచ్చింది. అబ్‌స్ట్రాక్ట్ క్లాస్‌లను సరిగ్గా ఎలా ఉపయోగించాలో నేను మీకు నేర్పించాలనుకుంటున్నాను."

వియుక్త తరగతికి వాస్తవ ప్రపంచ సారూప్యతతో రావడం కష్టం. ఒక తరగతి సాధారణంగా ఏదో ఒక సంస్థ యొక్క నమూనా. కానీ ఒక నైరూప్య తరగతి అమలు చేయని పద్ధతులను కలిగి ఉంటుంది మరియు అమలు చేయబడిన పద్ధతులను కలిగి ఉంటుంది. అంటే ఏమిటి? వియుక్త తరగతికి ఏ సారూప్యతను మనం కనుగొనవచ్చు? అసలు ప్రపంచంలో అలాంటిది ఉందా?

నిజానికి, ఉంది. కన్వేయర్ బెల్ట్‌పై దాదాపుగా పూర్తయిన కారు చట్రం ఊహించండి. నేను సూప్-అప్ ఇంజిన్ లేదా అత్యంత సమర్థవంతమైన ఇంజిన్‌ని ఇన్‌స్టాల్ చేయగలను. లెదర్ ఇంటీరియర్ లేదా ఫాబ్రిక్ అప్హోల్స్టరీ. కారు యొక్క నిర్దిష్ట అమలు ఇంకా నిర్ణయించబడలేదు. ఇంకా ఏమిటంటే, అనేక నిర్దిష్ట అమలులను రూపొందించడానికి చట్రం ఉపయోగించబడుతుంది. కానీ ప్రస్తుత రూపంలో కారును ఎవరూ కోరుకోరు. ఇది ఒక క్లాసిక్ అబ్‌స్ట్రాక్ట్ క్లాస్ : దీనికి సంబంధించిన సందర్భాలను సృష్టించడం అర్ధవంతం కాదు, కాబట్టి మీరు వాటిని సృష్టించలేరు; తరగతి దాని ఆధారంగా సృష్టించబడే అనేక పూర్తి స్థాయి వారసుల కారణంగా మాత్రమే అర్థవంతంగా ఉంటుంది.

"అది చాలా సులభం."

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

ఒక ఉదాహరణ చూద్దాం:

జావా కోడ్ వివరణ
abstract class BodyGuard
{
 abstract void applyMartialArts(Attacker attacker);

 void shoot(Attacker attacker)
 {
    gun.shoot(attacker);
 }

 void saveClientLife(Attacker attacker)
 {
  if (attacker.hasGun())
     shoot(attacker);
  else
     applyMartialArts(attacker);
 }
}
బాడీగార్డ్ తరగతి దాడిని ఎలా ఎదుర్కోవాలో నిర్ణయిస్తుంది: యుద్ధ కళలను కాల్చడం లేదా ఉపయోగించడం.

అయినప్పటికీ, నిర్దిష్ట యుద్ధ కళ పేర్కొనబడలేదు, అయినప్పటికీ నైపుణ్యం ఉందని మేము ఖచ్చితంగా అనుకుంటున్నాము.

మేము అనేక విభిన్న అంగరక్షకులను సృష్టించవచ్చు (ఈ తరగతిని వారసత్వంగా పొందడం ద్వారా). వాటిని అన్ని క్లయింట్ రక్షించడానికి మరియు దాడి షూట్ చెయ్యగలరు.

"మీరు చెప్పింది నిజమే. ఇది కొన్ని అమలు చేయబడిన పద్ధతులతో కూడిన ఇంటర్‌ఫేస్ లాంటిది."

"అవును, ఈ రకమైన వియుక్త తరగతి ప్రామాణిక జావా SE తరగతులలో సాధారణం."

3
టాస్క్
జావా కోర్, స్థాయి, పాఠం
లాక్ చేయబడింది
Code entry
Your attention, please! Now recruiting code entry personnel for CodeGym. Turn up your focus, let your fingers relax, read the code, and then... type it into the appropriate box. Code entry is far from a useless exercise, though it might seem so at first glance: it allows a beginner to get used to and remember syntax (modern IDEs seldom make this possible).
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION