"హలో, అమిగో! ఈ రోజు నేను మీ దృష్టికి కొత్త మరియు ఆసక్తికరమైన ప్రపంచాన్ని తెరవబోతున్నాను. నేను ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ (OOP) గురించి మాట్లాడుతున్నాను . మీరు ఇప్పటికే తరగతులు మరియు వస్తువులను తెలుసుకున్నారు. ఈ రోజు మీరు వెళ్తున్నారు వాటి గురించి మరింత తెలుసుకోవడానికి, చాలా ఎక్కువ."

మేము OOP యొక్క నాలుగు స్తంభాలతో ప్రారంభిస్తాము. అవి సంగ్రహణ, ఎన్‌క్యాప్సులేషన్, వారసత్వం మరియు పాలిమార్ఫిజం. (మూడు ఉండేవి, కానీ సంగ్రహణ తర్వాత జోడించబడింది)

1) సంగ్రహణ.

నిజ జీవితంలో సంగ్రహణకు మంచి ఉదాహరణ కంపెనీలో ఉద్యోగ వివరణలు. ఉద్యోగ శీర్షిక ఒక విషయం, కానీ దాని విధులు పూర్తిగా భిన్నమైన విషయం.

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

మీరు మీ కంపెనీలో పదవుల కోసం పేర్లతో ముందుకు వచ్చారని అనుకుందాం, ఆపై మీరు ఈ స్థానాలకు సంబంధించిన బాధ్యతలను "డిష్ అవుట్" చేసారు. అది సంగ్రహణ - పెద్ద మరియు ఏకశిలా ఏదో అనేక చిన్న భాగాలుగా విభజించడం.

OOP: ప్రాథమిక సూత్రాలు - 1

ప్రోగ్రామర్ దృక్కోణం నుండి, నైరూప్యత అనేది ప్రోగ్రామ్‌ను వస్తువులుగా సరిగ్గా విభజించడం.

ఒక పెద్ద ప్రోగ్రామ్ సాధారణంగా డజను విభిన్న మార్గాల్లో పరస్పర చర్య చేసే వస్తువులుగా సూచించబడుతుంది. సంగ్రహణం వస్తువు యొక్క ప్రధాన లక్షణాలను ఎంచుకోవడానికి మరియు తక్కువ ప్రాముఖ్యమైన వాటిని వదిలివేయడానికి మిమ్మల్ని అనుమతిస్తుంది.

సంగ్రహణ అనేది సైనిక వ్యూహం లాంటిది. మీరు తప్పు వ్యూహాన్ని ఎంచుకుంటే, తెలివిగల వ్యూహాలు ఏ రోజును ఆదా చేయవు.

2) ఎన్‌క్యాప్సులేషన్.

ఎన్‌క్యాప్సులేషన్ అనేది వస్తువులను సరళీకృతం చేయడం ద్వారా వాటి మధ్య పరస్పర చర్యను మెరుగుపరచడానికి ఉద్దేశించబడింది.

OOP: ప్రాథమిక సూత్రాలు - 2

దేనినైనా సరళీకృతం చేయడానికి ఉత్తమ మార్గం ఏమిటంటే, దాని గురించి తెలుసుకోవలసిన అవసరం లేని వారి నుండి ఏదైనా సంక్లిష్టంగా దాచడం. ఉదాహరణకు, మీరు బోయింగ్ జెట్ యొక్క పైలట్ నియంత్రణల వెనుక కూర్చుంటే, అవి ఎలా పని చేస్తాయో అర్థం చేసుకోవడానికి చాలా సమయం పడుతుంది:

OOP: ప్రాథమిక సూత్రాలు - 3

మరోవైపు, విమానంలోని ప్రయాణీకులకు ప్రతిదీ సరళంగా కనిపిస్తుంది: వారు టిక్కెట్‌ను కొనుగోలు చేసి, విమానంలో ఎక్కుతారు, అది టేకాఫ్ మరియు ల్యాండ్ అవుతుంది. మీరు ఖండం నుండి ఖండానికి సులభంగా ప్రయాణించవచ్చు, "టికెట్ కొనడం" మరియు "విమానంలో ఎక్కడం" ఎలా చేయాలో మాత్రమే తెలుసు. ఫ్లైట్, టేకాఫ్, ల్యాండింగ్ మరియు వివిధ సంభావ్య అత్యవసర పరిస్థితుల కోసం విమానాన్ని సిద్ధం చేయడానికి సంబంధించిన సంక్లిష్టత ఏదీ మాకు కనిపించదు. మరియు మేము శాటిలైట్ నావిగేషన్, ఆటోపైలట్ మరియు ఎయిర్ ట్రాఫిక్ నియంత్రణ కేంద్రాల గురించి ప్రస్తావించలేదు. ఇది మన జీవితాన్ని సులభతరం చేస్తుంది.

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

3) వారసత్వం.

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

నిజ జీవితంలో మనం ఏదైనా సృష్టించాలంటే, మనకు రెండు ఎంపికలు ఉన్నాయి:

1) మొదటి నుండి మనకు అవసరమైన వాటిని తయారు చేయండి మరియు దాని కోసం చాలా సమయం మరియు కృషిని వెచ్చించండి.

2) ఇప్పటికే ఉన్న వస్తువులను ఉపయోగించి మనకు అవసరమైన వాటిని తయారు చేయండి.

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

పరిగణించండి, మానవ పరిణామం. మేము వారి ప్రారంభాన్ని గ్రహం మీద జీవితం యొక్క ప్రారంభం నుండి గుర్తించినట్లయితే, బిలియన్ల సంవత్సరాలు గడిచినట్లు మనం చూస్తాము. కానీ మనం కోతుల నుండి మానవులు అని అనుకుంటే, కేవలం రెండు మిలియన్ సంవత్సరాలు గడిచాయి. మొదటి నుండి ఏదైనా సృష్టించడానికి ఎక్కువ సమయం పడుతుంది. చాలా కాలం.

అదేవిధంగా, ప్రోగ్రామింగ్‌లో మనం ఒక తరగతి ఆధారంగా మరొక తరగతిని సృష్టించవచ్చు. కొత్త తరగతి ఇప్పటికే ఉన్న తరగతికి వారసుడు (వారసుడు) అవుతుంది. మీరు ఇప్పటికే 80-90% అవసరమైన డేటా మరియు పద్ధతులను కలిగి ఉన్న తరగతిని కలిగి ఉన్నప్పుడు ఇది చాలా ఉపయోగకరంగా ఉంటుంది. మేము మా కొత్త తరగతికి తగిన తరగతిని పేరెంట్‌గా ప్రకటిస్తాము. పేరెంట్ క్లాస్ డేటా మరియు మెథడ్స్ అన్నీ ఆటోమేటిక్‌గా కొత్త క్లాస్‌లో భాగమవుతాయి. అనుకూలమైనది, సరియైనదా?

4) పాలిమార్ఫిజం.

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

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

ప్రోగ్రామింగ్‌కి తిరిగి వెళ్లండి, పాలిమార్ఫిజం వివిధ తరగతుల వస్తువులతో (సాధారణంగా సాధారణ పూర్వీకులతో) అదే విధంగా పరస్పర చర్య చేయడానికి అనుమతిస్తుంది. దీని యొక్క ప్రాముఖ్యతను అతిగా నొక్కి చెప్పలేము. ప్రోగ్రామ్ పెద్దదిగా పెరిగేకొద్దీ ఇది మరింత ముఖ్యమైనది.

OOP అనేది సూత్రాలు. ప్రోగ్రామింగ్ చట్టాలు. వాటిలో ప్రతి ఒక్కటి మనల్ని ఏదో ఒక విధంగా పరిమితం చేస్తుంది , కానీ ప్రోగ్రామ్‌లు పెద్దగా పెరిగే కొద్దీ ప్రతిఫలంగా భారీ ప్రయోజనాలను అందిస్తుంది . OOP యొక్క నాలుగు సూత్రాలు ఒక కుర్చీ యొక్క నాలుగు కాళ్ళ లాంటివి. మీరు వాటిలో ఒకదానిని తీసివేస్తే, మొత్తం వ్యవస్థ అస్థిరంగా మారుతుంది.