1. OOP సూత్రాలను పరిచయం చేయడం
ఈ రోజు మీరు కొత్త మరియు ఆసక్తికరమైన ప్రపంచాన్ని కనుగొంటారు. ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ ప్రపంచం ( OOP ). మీరు మునుపు తరగతులు మరియు వస్తువుల గురించి తెలుసుకున్నారు. ఈ రోజు మీరు వారి గురించి మరింత నేర్చుకుంటారు, చాలా ఎక్కువ.
ప్రోగ్రామ్ల సంక్లిష్టతకు ప్రతిస్పందనగా OOP ఉద్భవించింది. ప్రోగ్రామ్లలో వేరియబుల్స్ మరియు పద్ధతులు పదివేల సంఖ్యను ప్రారంభించినప్పుడు, ఏదో ఒకటి చేయవలసి ఉందని స్పష్టమైంది. డేటా మరియు అనుబంధ పద్ధతులను ప్రత్యేక వస్తువులుగా కలపడం ఒక పరిష్కారం.
ఇప్పుడు ప్రోగ్రామర్లు వస్తువులు బాహ్యంగా ఎలా సంకర్షణ చెందుతాయో మరియు అవి అంతర్గతంగా ఎలా ప్రవర్తిస్తాయో ప్రత్యేకంగా వివరించాలి. ఇది ప్రోగ్రామ్లను అర్థం చేసుకోవడం మరియు వ్రాయడం చాలా సులభం చేసింది. అయితే, ఒక ప్రశ్న మిగిలి ఉంది: ఏ పద్ధతులు వస్తువుకు అంతర్గతంగా ఉండాలి మరియు ఇతర వస్తువులకు ఏవి అందుబాటులో ఉండాలి?
అనేక విధానాలు ప్రయత్నించారు. మరియు కనుగొన్న ఉత్తమ అభ్యాసాల ఆధారంగా, OOP యొక్క 4 సూత్రాలు ఉద్భవించాయి. అవి సంగ్రహణ, ఎన్క్యాప్సులేషన్, వారసత్వం మరియు పాలిమార్ఫిజం . గతంలో, కేవలం మూడు మాత్రమే ఉన్నాయి, కానీ నిపుణులు తర్వాత సంగ్రహణను కూడా జోడించాలని నిర్ణయించుకున్నారు.
2. సంగ్రహణ
ఇంటర్నెట్లోని వ్యక్తులు ఇప్పటికీ OOP లో సంగ్రహణ నిర్వచనంపై వాదిస్తున్నారు . సమస్య అందరూ తప్పు చేయడం కాదు. ప్రతి ఒక్కరు సరైనదే . ప్రోగ్రామ్ ఎంత చిన్నదైతే, జావా భాషతో ఎక్కువ సంగ్రహణ ముడిపడి ఉంటుంది. ప్రోగ్రామ్ ఎంత పెద్దదైతే, వాస్తవ-ప్రపంచ వస్తువులను మోడలింగ్/సులభతరం చేయడంతో మరింత సంగ్రహణ ముడిపడి ఉంటుంది.
కానీ ఉత్తమ మనస్సులు దీనిని అంగీకరిస్తున్నట్లు అనిపిస్తుంది:
సంగ్రహణ అనేది ప్రోగ్రామ్లో తగినంత ఖచ్చితంగా సూచించే వస్తువు యొక్క లక్షణాలను మాత్రమే ఉపయోగించడం. మీ పనులను తగినంత ఖచ్చితత్వంతో పరిష్కరించడానికి ఏకకాలంలో అనుమతించే అతిచిన్న ఫీల్డ్లు మరియు పద్ధతులతో ఆబ్జెక్ట్ను సూచించడం ప్రధాన ఆలోచన .
జావాలో, వియుక్త తరగతులు మరియు ఇంటర్ఫేస్ల ద్వారా సంగ్రహణ సాధించబడుతుంది.
నిజ జీవితంలో నైరూప్యత
నిజ జీవితంలో సంగ్రహణకు మంచి ఉదాహరణ కంపెనీ లేదా సంస్థలో ఉద్యోగ వివరణలు. స్థానం యొక్క శీర్షిక ఒక విషయం, కానీ ఒక స్థానానికి కేటాయించిన నిర్దిష్ట బాధ్యతలు పూర్తిగా భిన్నమైన విషయం.
మీరు మీ భవిష్యత్ సంస్థ యొక్క సంస్థాగత నిర్మాణాన్ని రూపొందిస్తున్నారని ఊహించండి. మీరు సెక్రటేరియల్ బాధ్యతలను విభజించవచ్చు, వాటిని వివిధ స్థానాల్లో వెదజల్లవచ్చు. మీరు CEO స్థానాన్ని అనేక ప్రత్యేక స్థానాలుగా విభజించవచ్చు: CFO, CTO, CMO, HR డైరెక్టర్. లేదా, ఉదాహరణకు, మీరు ఆఫీస్ మేనేజర్ మరియు రిక్రూటర్ స్థానాలను ఒకటిగా కలపవచ్చు.
మీరు ఉద్యోగ శీర్షికలను ఆలోచించి, ఆపై ఈ స్థానాలకు బాధ్యతలను విభజించండి. సంగ్రహణ అనేది మొత్తం వస్తువు నుండి విడిపోయి, మనకు అవసరమైన ముఖ్యమైన లక్షణాలు మరియు భాగాలను ఎంచుకోవడం.
ప్రోగ్రామింగ్ దృక్కోణం నుండి, నైరూప్యత అనేది ప్రోగ్రామ్ను వస్తువులుగా విభజించడం . సాధారణంగా, ఏదైనా పెద్ద ప్రోగ్రామ్ను పరస్పర చర్య చేసే వస్తువులుగా సూచించడానికి డజన్ల కొద్దీ మార్గాలు ఉన్నాయి. సంగ్రహణం మీరు ముఖ్యమైన లక్షణాలను ఎంచుకోవడానికి మరియు అనవసరమైన వాటిని విస్మరించడానికి మిమ్మల్ని అనుమతిస్తుంది.
3. ఎన్కప్సులేషన్
వస్తువులను సులభతరం చేయడం ద్వారా పరస్పర చర్యలను మెరుగుపరచడం ఎన్క్యాప్సులేషన్ యొక్క లక్ష్యం .
మరియు దేనినైనా సరళీకృతం చేయడానికి ఉత్తమ మార్గం ఏమిటంటే, ఏదైనా సంక్లిష్టమైన వాటిని రహస్యంగా దాచడం. ఉదాహరణకు, మీరు బోయింగ్ జంబో జెట్ కాక్పిట్లోకి ప్రవేశించినట్లయితే, దాన్ని ఎలా ఆపరేట్ చేయాలో మీకు వెంటనే అర్థం కాదు:
కానీ విమానంలోని ప్రయాణీకులకు, ప్రతిదీ సరళంగా ఉంటుంది: మీరు టిక్కెట్ను కొనుగోలు చేసి, విమానంలో ఎక్కండి, అది టేకాఫ్ మరియు ల్యాండ్ అవుతుంది. మీరు "టికెట్ కొనుగోలు" మరియు "విమానంలోకి వెళ్లే" సామర్థ్యంతో ఒక ఖండం నుండి మరొక ఖండానికి సులభంగా ప్రయాణించవచ్చు. ఫ్లైట్, టేకాఫ్, ల్యాండింగ్ మరియు వివిధ అత్యవసర పరిస్థితుల కోసం విమానాన్ని సిద్ధం చేసే సంక్లిష్టత మీ నుండి దాచబడింది. శాటిలైట్ నావిగేషన్, ఆటోపైలట్ మరియు ఎయిర్ ట్రాఫిక్ కంట్రోల్ సెంటర్ల గురించి ప్రత్యేకంగా చెప్పనక్కర్లేదు. మరియు ఇది మన జీవితాన్ని సులభతరం చేస్తుంది.
ప్రోగ్రామింగ్ దృక్కోణం నుండి, ఎన్క్యాప్సులేషన్ అనేది "అమలును దాచడం". నాకు ఈ నిర్వచనం నచ్చింది. మా తరగతి వందలాది పద్ధతులను కలిగి ఉంటుంది మరియు వివిధ పరిస్థితులలో చాలా క్లిష్టమైన ప్రవర్తనలను అమలు చేస్తుంది. కానీ మేము దాని అన్ని పద్ధతులను (ప్రైవేట్ మాడిఫైయర్తో గుర్తించడం ద్వారా) చూపకుండా దాచవచ్చు మరియు ఇతర తరగతులతో పరస్పర చర్య చేయడానికి (వాటిని పబ్లిక్ మాడిఫైయర్తో గుర్తించడం ద్వారా) రెండు లేదా మూడు పద్ధతులను మాత్రమే వదిలివేయవచ్చు. అప్పుడు మా ప్రోగ్రామ్లోని అన్ని ఇతర తరగతులు మూడు పబ్లిక్ పద్ధతులను మాత్రమే చూస్తాయి మరియు వాటిని పిలుస్తాయి కానీ ఇతరులకు కాదు. కాక్పిట్ సంతోషంగా ఉన్న ప్రయాణీకుల నుండి దాచబడినట్లే, అన్ని సంక్లిష్టత తరగతి లోపల దాచబడుతుంది.
4. వారసత్వం
వారసత్వానికి రెండు పార్శ్వాలున్నాయి . ప్రోగ్రామింగ్లో వారసత్వం మరియు నిజ జీవితంలో వారసత్వం. ప్రోగ్రామింగ్లో, వారసత్వం అనేది రెండు తరగతుల మధ్య ఒక ప్రత్యేక సంబంధం . కానీ నిజ జీవితంలో వారసత్వం చాలా ఆసక్తికరంగా ఉంటుంది.
నిజ జీవితంలో మనం ఏదైనా సృష్టించాలంటే, మనకు రెండు ఎంపికలు ఉన్నాయి:
- చాలా సమయం మరియు కృషిని వెచ్చించి, మొదటి నుండి మనకు అవసరమైన వస్తువును సృష్టించండి.
- ఇప్పటికే ఉన్న దాని ఆధారంగా మనకు అవసరమైన వస్తువును సృష్టించండి.
సరైన వ్యూహం ఇది: ఇప్పటికే ఉన్న మంచి పరిష్కారాన్ని తీసుకోండి, దానిని కొద్దిగా సవరించండి, మా అవసరాలకు సరిపోయేలా సర్దుబాటు చేయండి, ఆపై దాన్ని ఉపయోగించండి.
మనం మానవ చరిత్రను దాని ఆరంభం నుండి వెనక్కి తీసుకుంటే, గ్రహం మీద జీవితం ప్రారంభమై బిలియన్ల సంవత్సరాలు గడిచిపోయాయని మేము కనుగొంటాము. కానీ మనం మానవుల ప్రారంభ స్థానం మన ప్రైమేట్ పూర్వీకులుగా పరిగణించినట్లయితే (అంటే మానవులు "ఆధారం" ప్రైమేట్ పూర్వీకులు), అప్పుడు కేవలం రెండు మిలియన్ సంవత్సరాలు గడిచిపోయాయి. మొదటి నుండి నిర్మించడానికి ఎక్కువ సమయం పడుతుంది. చాలా కాలం.
ప్రోగ్రామింగ్లో, మీరు ఒక తరగతి ఆధారంగా మరొక తరగతిని సృష్టించడం ద్వారా ఇలాంటిదే చేయవచ్చు. కొత్త తరగతి ఇప్పటికే ఉన్న తరగతి నుండి (వారసత్వం పొందుతుంది). ఇప్పటికే ఉన్న తరగతి మనకు అవసరమైన డేటా మరియు పద్ధతుల్లో 80-90% కలిగి ఉన్నప్పుడు ఇది చాలా ప్రయోజనకరంగా ఉంటుంది. మేము మా కొత్త తరగతికి తగిన తరగతిని పేరెంట్గా ప్రకటిస్తాము మరియు పేరెంట్ క్లాస్ యొక్క మొత్తం డేటా మరియు పద్ధతులు కొత్త తరగతిలో స్వయంచాలకంగా కనిపిస్తాయి. అనుకూలమైనది, సరియైనదా?
5. పాలిమార్ఫిజం
పాలిమార్ఫిజం అనేది ప్రోగ్రామింగ్ కాన్సెప్ట్. ఒకే ఇంటర్ఫేస్ వెనుక వివిధ అమలులు దాగి ఉన్న పరిస్థితిని ఇది వివరిస్తుంది. ప్రతిరూపం కోసం నిజ జీవితంలో వెతుకుతున్నప్పుడు, వాహనాన్ని నడపడం బాగా సరిపోతుందని మేము కనుగొన్నాము.
ఎవరైనా ట్రక్కును నడపగలిగితే, ఆమెను అంబులెన్స్ చక్రం వెనుక లేదా స్పోర్ట్స్ కారు చక్రం వెనుక కూడా ఉంచవచ్చు. అన్ని కార్లు ఒకే విధమైన నియంత్రణ ఇంటర్ఫేస్ను కలిగి ఉన్నందున: స్టీరింగ్ వీల్, పెడల్స్ మరియు గేర్షిఫ్ట్తో సంబంధం లేకుండా ఒక వ్యక్తి కారును ఆపరేట్ చేయవచ్చు. కార్ల అంతర్గత భాగాలు భిన్నంగా ఉంటాయి, కానీ అవన్నీ ఒకే నియంత్రణ ఇంటర్ఫేస్ను కలిగి ఉంటాయి.
ప్రోగ్రామింగ్ ప్రపంచానికి తిరిగి రావడం, పాలీమార్ఫిజం వివిధ తరగతుల వస్తువులను (సాధారణంగా సాధారణ పూర్వీకులను కలిగి ఉంటుంది) ఒకే విధంగా యాక్సెస్ చేయడానికి అనుమతిస్తుంది, దీని విలువ అతిగా అంచనా వేయబడదు. ప్రోగ్రామ్ పెద్దదిగా పెరిగేకొద్దీ దాని విలువ పెరుగుతుంది.
OOP అంటే సూత్రాలు. అంతర్గత చట్టాలు. వాటిలో ప్రతి ఒక్కటి మమ్మల్ని ఏదో ఒక విధంగా పరిమితం చేస్తుంది , కానీ ప్రోగ్రామ్ పెద్దదిగా మారినప్పుడు ప్రతిఫలంగా గొప్ప ప్రయోజనాలను అందిస్తుంది. OOP యొక్క నాలుగు సూత్రాలు టేబుల్ యొక్క నాలుగు కాళ్ళ లాంటివి. ఒకదాన్ని తీసివేయండి మరియు మొత్తం వ్యవస్థ అస్థిరంగా మారుతుంది.
GO TO FULL VERSION