ഉള്ളടക്ക പട്ടിക[മറയ്ക്കുക][കാണിക്കുക]
ഡെവലപ്പർമാർക്കിടയിൽ, ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് ഒരു വലിയ അനുയായികളെ ആകർഷിച്ചു. ജനപ്രിയ കമ്പ്യൂട്ടർ ഭാഷയായ പൈത്തണും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് മാതൃകയോട് ചേർന്നുനിൽക്കുന്നു.
പൈത്തണിലെ ഒബ്ജക്റ്റുകളും ക്ലാസുകളും നിർവചിക്കുന്നത് ഇത് കൈകാര്യം ചെയ്യുന്നു, ഇത് OOP തത്വങ്ങളുടെ അടിസ്ഥാനമാണ്. "പൈത്തണിലെ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ്" എന്ന ഈ ട്യൂട്ടോറിയലിൽ, പൈത്തൺ ക്ലാസുകൾ എങ്ങനെ പ്രഖ്യാപിക്കാമെന്നും അവയിൽ നിന്ന് ഒബ്ജക്റ്റുകൾ സൃഷ്ടിക്കാമെന്നും നാല് OOP ടെക്നിക്കുകൾ ഉപയോഗിക്കാമെന്നും നിങ്ങൾ പഠിക്കും.
അതിനാൽ, ആദ്യം കാര്യം ആദ്യം.
എന്താണ് ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ്?
ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗിന്റെ (OOP) പ്രധാന ശ്രദ്ധ "ഒബ്ജക്റ്റുകളുടെ" സൃഷ്ടിയാണ്. പരസ്പരബന്ധിതമായ വേരിയബിളുകളുടെയും ഫംഗ്ഷനുകളുടെയും ഒരു ശേഖരം ഒരു വസ്തുവിനെ നിർമ്മിക്കുന്നു.
ഈ വേരിയബിളുകളെ ഒബ്ജക്റ്റിന്റെ ആട്രിബ്യൂട്ടുകൾ എന്നും അതിന്റെ സ്വഭാവങ്ങളെ അതിന്റെ പ്രവർത്തനങ്ങൾ എന്നും വിളിക്കാറുണ്ട്. ഈ ഇനങ്ങൾ ആപ്ലിക്കേഷന് കൂടുതൽ ഫലപ്രദവും മനസ്സിലാക്കാവുന്നതുമായ ഘടന നൽകുന്നു. ഒരു ഇനത്തിന്റെ ഉദാഹരണമാണ് ഓട്ടോമൊബൈൽ.
ഓട്ടോമൊബൈൽ ഒരു ഇനമാണെങ്കിൽ, അതിന്റെ ആട്രിബ്യൂട്ടുകളിൽ അതിന്റെ നിറം, മോഡൽ, വില, ബ്രാൻഡ് മുതലായവ ഉൾപ്പെടും. കൂടാതെ, അത് ത്വരിതപ്പെടുത്തുകയും വേഗത കുറയ്ക്കുകയും ഗിയർ മാറ്റുകയും ചെയ്യും.
മറ്റൊരു ദൃഷ്ടാന്തം: നമ്മൾ ഒരു നായയെ ഒരു ഇനമായി കരുതുന്നുവെങ്കിൽ, അതിന്റെ ചില സ്വഭാവസവിശേഷതകൾ നിറം, ഇനം, പേര്, ഭാരം മുതലായവയായിരിക്കാം. അവൻ കുരയ്ക്കുകയും കളിക്കുകയും ചെയ്യും.
ഒബ്ജക്റ്റുകൾ, മറയ്ക്കൽ, അനന്തരാവകാശം മുതലായ യഥാർത്ഥ ലോക ആശയങ്ങൾ പ്രോഗ്രാമിംഗിൽ ഉൾപ്പെടുത്തിയതിനാൽ, ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് എല്ലാവർക്കും അറിയാം. ഇത് യഥാർത്ഥ ലോക സാഹചര്യങ്ങളുമായി വളരെ സാമ്യമുള്ളതിനാൽ, ദൃശ്യവൽക്കരണം ലളിതമാക്കിയിരിക്കുന്നു.
ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് ആശയങ്ങൾ
പൈത്തണിലെ ക്ലാസുകളും ഒബ്ജക്റ്റുകളും
മറ്റെല്ലാ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് ഭാഷകളെയും പോലെ, ഒബ്ജക്റ്റുകൾ സൃഷ്ടിക്കുന്നതിന് ക്ലാസുകൾ രൂപകൽപ്പന ചെയ്യാൻ പൈത്തൺ നിങ്ങളെ പ്രാപ്തമാക്കുന്നു. സ്ട്രിംഗുകൾ, ലിസ്റ്റുകൾ, നിഘണ്ടുക്കൾ, മറ്റ് ഒബ്ജക്റ്റുകൾ എന്നിവയുൾപ്പെടെ പൈത്തണിലെ ഏറ്റവും ജനപ്രിയമായ ഡാറ്റാ തരങ്ങൾ ബിൽറ്റ്-ഇൻ ക്ലാസുകളാണ്.
ഒരു പ്രത്യേക തരം ഒബ്ജക്റ്റിനെ നിർവചിക്കുന്ന ലിങ്ക് ചെയ്ത രീതികളുടെയും ഉദാഹരണ വേരിയബിളുകളുടെയും ഒരു കൂട്ടമാണ് ക്ലാസ്. ഒരു ഒബ്ജക്റ്റിന്റെ മാതൃക അല്ലെങ്കിൽ ടെംപ്ലേറ്റായി ഒരു ക്ലാസ് കാണാവുന്നതാണ്. ഒരു ക്ലാസ് ഉണ്ടാക്കുന്ന വേരിയബിളുകൾ ആട്രിബ്യൂട്ടുകൾ എന്നറിയപ്പെടുന്നു.
നിർവചിക്കപ്പെട്ട ആട്രിബ്യൂട്ടുകളുള്ള ഒരു ക്ലാസിലെ അംഗമാണ് ഒബ്ജക്റ്റ്. ഇക്കാരണത്താൽ, ഒരേ ക്ലാസ് ഉപയോഗിച്ച് എത്ര വസ്തുക്കൾ വേണമെങ്കിലും സൃഷ്ടിക്കാൻ കഴിയും.
ക്ലാസ്സ് എന്ന വാക്ക് ഉപയോഗിച്ചാണ് പൈത്തൺ ക്ലാസുകൾ നിർവചിക്കുന്നത്, അതിന് ശേഷം ക്ലാസ്സിന്റെ പേരും കോളണും. ഒരു തത്ത ക്ലാസിന്റെ ഒരു ചിത്രീകരണം ഇതായിരിക്കാം:
ഇവിടെ, ക്ലാസ് കീവേഡ് ഉപയോഗിച്ച് ഞങ്ങൾ ശൂന്യമായ ക്ലാസ് തത്തയെ പ്രഖ്യാപിക്കുന്നു. ക്ലാസുകളിൽ നിന്ന് ഞങ്ങൾ ഉദാഹരണങ്ങൾ സൃഷ്ടിക്കുന്നു. ഒരു പ്രത്യേക ക്ലാസിൽ നിന്ന് നിർമ്മിച്ച ഒരു പ്രത്യേക വസ്തുവാണ് ഉദാഹരണം. 'പാസ്' കോഡിന്റെ സ്റ്റാൻഡ്-ഇൻ ആയി ഉപയോഗിക്കാറുണ്ട്, അതിന്റെ നടപ്പാക്കൽ തൽക്കാലം നമ്മൾ ഉപേക്ഷിച്ചേക്കാം. “പാസ്” കീവേഡ് ഉപയോഗിച്ച് ഒരു പിശക് സൃഷ്ടിക്കാതെ തന്നെ നമുക്ക് പൈത്തൺ കോഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയും.
ഒരു വർഗ്ഗത്തിന്റെ തൽക്ഷണം ഒരു ഒബ്ജക്റ്റിൽ (ഉദാഹരണം) കലാശിക്കുന്നു. ഒരു ക്ലാസ് സൃഷ്ടിക്കുമ്പോൾ വസ്തുവിന്റെ വിവരണം മാത്രമേ നിർവചിക്കപ്പെടുകയുള്ളൂ. തൽഫലമായി, സംഭരണമോ റാമോ അനുവദിച്ചിട്ടില്ല.
ഒരു തത്ത ക്ലാസ് ഒബ്ജക്റ്റിന്റെ ഒരു ഉദാഹരണം ഇതാണ്:
ഈ സന്ദർഭത്തിൽ ഒബ്ജ് ഒരു തത്ത-വർഗ്ഗ വസ്തുവാണ്.
തത്തകളുടെ പ്രത്യേകതകൾ നമുക്കറിയാമെന്ന് പറയാം. തത്ത ക്ലാസും അതിന്റെ വസ്തുക്കളും എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് ഞങ്ങൾ ഇപ്പോൾ കാണിക്കും.
പ്രത്യേക രീതി (__init__)
init എന്ന് വിളിക്കുന്ന ഒരു രീതി, ഓരോ തത്ത ഒബ്ജക്റ്റിനും ഉണ്ടായിരിക്കേണ്ട () ആട്രിബ്യൂട്ടുകളെ നിർവചിക്കുന്നു. ഒരു പുതിയ പാരറ്റ് ഒബ്ജക്റ്റ് രൂപപ്പെടുമ്പോൾ, __init__ എന്ന ഫംഗ്ഷൻ ഒബ്ജക്റ്റിന്റെ പ്രോപ്പർട്ടികൾക്കുള്ളിൽ നമ്മൾ നൽകുന്ന മൂല്യങ്ങൾ നൽകി ഒബ്ജക്റ്റിന്റെ പ്രാരംഭ അവസ്ഥ സൃഷ്ടിക്കുന്നു.
അതിനാൽ, ക്ലാസിന്റെ ഓരോ പുതിയ സംഭവങ്ങളും __init__() ഉപയോഗിച്ച് ആരംഭിക്കുന്നു. __init__() ന് എത്ര പാരാമീറ്ററുകൾ വേണമെങ്കിലും സ്വീകരിക്കാമെങ്കിലും, സ്വയം എല്ലായ്പ്പോഴും ആദ്യ പരാമീറ്ററാണ്.
സെൽഫ് ആർഗ്യുമെന്റിൽ സജീവമായ ക്ലാസ് ഉദാഹരണത്തെക്കുറിച്ചുള്ള ഒരു റഫറൻസ് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഒരു ക്ലാസിന്റെ നിലവിലെ ഒബ്ജക്റ്റിന്റെ വിലാസത്തിലേക്ക് ലിങ്ക് ചെയ്യുകയും അതിന്റെ (ഒബ്ജക്റ്റിന്റെ) വേരിയബിളുകളുടെ ഡാറ്റയിലേക്ക് നമുക്ക് ആക്സസ് നൽകുകയും ചെയ്യുന്ന സെൽഫ് പാരാമീറ്റർ അതിനെ സൂചിപ്പിക്കുന്നു.
ഉദാഹരണം 1
മുകളിലെ കോഡിൽ തത്ത എന്നൊരു ക്ലാസ് ഞങ്ങൾ സ്ഥാപിച്ചു. അടുത്തതായി, പ്രോപ്പർട്ടികൾ നിർവചിക്കപ്പെടുന്നു. ഒരു വസ്തുവിന്റെ സവിശേഷതകൾ അതിന്റെ ഗുണങ്ങളാണ്. ക്ലാസ്സിന്റെ __init__ ഫംഗ്ഷനാണ് ഈ സ്വഭാവസവിശേഷതകൾ വ്യക്തമാക്കുന്നത്.
ഒരു ഒബ്ജക്റ്റ് രൂപപ്പെടുമ്പോൾ, ഇനീഷ്യലൈസർ രീതിയാണ് തുടക്കത്തിൽ വിളിക്കുന്നത്. തുടർന്ന്, പാരറ്റ് ക്ലാസിന്റെ ഉദാഹരണങ്ങൾ സൃഷ്ടിക്കപ്പെടുന്നു. ഈ സന്ദർഭത്തിൽ ബ്ലേസും വോണ്ടയും നമ്മുടെ പുതിയ ഒബ്ജക്റ്റുകളുടെ റഫറൻസുകളാണ് (മൂല്യങ്ങൾ). __class .species ഞങ്ങളെ ക്ലാസ് ആട്രിബ്യൂട്ട് ആക്സസ് ചെയ്യാൻ അനുവദിക്കുന്നു.
ഒരു ക്ലാസിലെ എല്ലാ സംഭവങ്ങൾക്കും ഒരേ സ്വഭാവസവിശേഷതകൾ ഉണ്ട്. blaze.name, blaze.age എന്നിവ ഉപയോഗിച്ചും ഉദാഹരണ സവിശേഷതകൾ ആക്സസ് ചെയ്യാവുന്നതാണ്. ഒരു ക്ലാസിലെ എല്ലാ സംഭവങ്ങൾക്കും അതുല്യമായ ആട്രിബ്യൂട്ടുകൾ ഉണ്ട്, എന്നിരുന്നാലും.
ഉദാഹരണം 2
രീതികൾ
ഒരു ക്ലാസിന്റെ ശരീരത്തിനുള്ളിൽ നിർവചിച്ചിരിക്കുന്ന പ്രവർത്തനങ്ങളെ രീതികൾ എന്ന് വിളിക്കുന്നു. ഒരു ഇനം എങ്ങനെ പ്രവർത്തിക്കുമെന്ന് വ്യക്തമാക്കാൻ അവരെ നിയമിക്കുന്നു.
രണ്ട് രീതികൾ, പാടുക () ഒപ്പം നൃത്തം, മുകളിൽ പറഞ്ഞ പ്രയോഗത്തിൽ () നിർവചിച്ചിരിക്കുന്നു. തീജ്വാല പോലുള്ള ഒരു ഉദാഹരണ വസ്തുവിൽ അവ വിളിക്കപ്പെടുന്നതിനാൽ, ഇവയെ ഇൻസ്റ്റൻസ് രീതികൾ എന്ന് വിളിക്കുന്നു.
OOPS ആശയത്തിന്റെ അടിസ്ഥാനങ്ങൾ
ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗിന്റെ നാല് പ്രധാന ആശയങ്ങൾ ഇവയാണ്:
- അവകാശം
- എൻക്യാപ്സുലേഷൻ
- പോളിമോർഫിസം
- സംഗ്രഹം
അവകാശം
നവജാതശിശുക്കൾക്ക് അവരുടെ മാതാപിതാക്കളുടേതിന് സമാനമായ മുഖ സവിശേഷതകളുണ്ടെന്നോ അല്ലെങ്കിൽ മാതാപിതാക്കളിൽ നിന്ന് അവർക്ക് പ്രത്യേക സ്വഭാവവിശേഷങ്ങൾ പാരമ്പര്യമായി ലഭിച്ചിട്ടുണ്ടെന്നോ ആളുകൾ പതിവായി പറയുന്നു.
നിങ്ങളുടെ മാതാപിതാക്കളുമായി നിങ്ങൾ കുറച്ച് സ്വഭാവവിശേഷങ്ങൾ പങ്കിടുന്നത് നിങ്ങൾ നിരീക്ഷിച്ചിരിക്കാൻ സാധ്യതയുണ്ട്. യഥാർത്ഥ ലോക സാഹചര്യവും അനന്തരാവകാശവുമായി സാമ്യമുള്ളതാണ്.
എന്നിരുന്നാലും, ഈ സാഹചര്യത്തിൽ, "രക്ഷാകർതൃ ക്ലാസുകളുടെ" സ്വഭാവസവിശേഷതകൾ "കുട്ടികളുടെ ക്ലാസുകളിലേക്ക്" കൈമാറുന്നു. ഈ സന്ദർഭത്തിൽ ഈ വശങ്ങളെ "പ്രോപ്പർട്ടികൾ" എന്നും "രീതികൾ" എന്നും വിളിക്കുന്നു.
പാരമ്പര്യം എന്നറിയപ്പെടുന്ന സാങ്കേതികത ഉപയോഗിച്ച് ഒരു ക്ലാസിന് അതിന്റെ രീതികളും ആട്രിബ്യൂട്ടുകളും മറ്റൊരു ക്ലാസിൽ നിന്ന് നേടാനാകും. പാരന്റ് ക്ലാസ്സിന്റെ പ്രോപ്പർട്ടികൾ ഒരു ചൈൽഡ് ക്ലാസ് സ്വീകരിക്കുന്ന പ്രക്രിയയാണ് അനന്തരാവകാശം.
ഉദാഹരണം:
മുകളിലെ ഉദാഹരണത്തിൽ ചൈൽഡ് ക്ലാസ് ബോയ് എന്ന പാരന്റ് ക്ലാസ് ഹ്യൂമൻ പാരമ്പര്യമായി ലഭിക്കുന്നു. ബോയ് മനുഷ്യനിൽ നിന്ന് പാരമ്പര്യമായി ലഭിക്കുന്നതിനാൽ, ബോയ് ക്ലാസിന്റെ ഒരു ഉദാഹരണം സൃഷ്ടിക്കുമ്പോൾ അതിന്റെ എല്ലാ രീതികളും ആട്രിബ്യൂട്ടുകളും നമുക്ക് ആക്സസ് ചെയ്യാൻ കഴിയും.
ബോയ് ക്ലാസ്സിൽ, schoolName എന്ന ഒരു രീതിയും നിർവചിക്കപ്പെട്ടിട്ടുണ്ട്. പാരന്റ് ക്ലാസ് ഒബ്ജക്റ്റിന് സ്കൂളിന്റെ പേര് എന്ന രീതി ആക്സസ് ചെയ്യാൻ കഴിയുന്നില്ല. എന്നിരുന്നാലും, ഒരു ചൈൽഡ് ക്ലാസ് ഒബ്ജക്റ്റ് (ബോയ്) സൃഷ്ടിച്ച് സ്കൂൾ നെയിം രീതിയെ വിളിക്കാം.
എൻക്യാപ്സുലേഷൻ
ക്ലാസുകളിൽ പ്രവർത്തിക്കുമ്പോഴും സെൻസിറ്റീവ് ഡാറ്റ കൈകാര്യം ചെയ്യുമ്പോഴും പ്രോഗ്രാമിലെ എല്ലാ വേരിയബിളുകൾക്കും ആഗോള ആക്സസ് നൽകുന്നത് ബുദ്ധിപരമായ നീക്കമല്ല.
പ്രോഗ്രാമിന് ആ വേരിയബിളുകളിലേക്കൊന്നും പൂർണ്ണമായ പ്രവേശനം നൽകാതെ, ആവശ്യമായ വേരിയബിളുകൾ നേടുന്നതിനുള്ള ഒരു സംവിധാനം എൻക്യാപ്സുലേഷൻ നൽകുന്നു.
വേരിയബിളുകളിൽ നിന്ന് ഡാറ്റ അപ്ഡേറ്റ് ചെയ്യാനോ എഡിറ്റ് ചെയ്യാനോ ഇല്ലാതാക്കാനോ ആവശ്യത്തിനായി വ്യക്തമായി നിർവചിച്ചിരിക്കുന്ന രീതികൾ ഉപയോഗിക്കാം. ഈ പ്രോഗ്രാമിംഗ് രീതിക്ക് മെച്ചപ്പെട്ട സുരക്ഷയും ഡാറ്റ ഇൻപുട്ടിൽ നിയന്ത്രണവും ഉണ്ട്.
ചുവടെയുള്ള പ്രകടനത്തിൽ വേരിയബിളുകൾ എത്ര വേഗത്തിൽ ആക്സസ് ചെയ്യാൻ കഴിയുമെന്ന് കാണുക:
പോളിമോർഫിസം
നിങ്ങൾ ബ്രൗസ് ചെയ്യാൻ നിങ്ങളുടെ ഫോൺ ഉപയോഗിക്കുന്നുണ്ടെന്ന് പറയാം ഇൻസ്റ്റാഗ്രാം ഫീഡുകൾ. കുറച്ച് സംഗീതം കേൾക്കാനുള്ള ആഗ്രഹം നിങ്ങൾക്ക് ഉണ്ടായപ്പോൾ, നിങ്ങൾ Spotify ആക്സസ് ചെയ്യുകയും നിങ്ങളുടെ പ്രിയപ്പെട്ട ഗാനം പ്ലേ ചെയ്യാൻ തുടങ്ങുകയും ചെയ്തു.
കുറച്ച് സമയത്തിന് ശേഷം, നിങ്ങൾക്ക് ഒരു കോൾ ലഭിച്ചു, അതിനാൽ അതിന് മറുപടി നൽകുന്നതിന് നിങ്ങൾ പശ്ചാത്തലത്തിൽ ചെയ്യുന്നതെന്തും താൽക്കാലികമായി നിർത്തി. നിങ്ങളുടെ സുഹൃത്ത് വിളിച്ച് ഒരു പ്രത്യേക വ്യക്തിയുടെ ഫോൺ നമ്പർ അവർക്ക് സന്ദേശമയയ്ക്കാൻ അഭ്യർത്ഥിച്ചു.
അതിനാൽ നിങ്ങൾ അദ്ദേഹത്തിന് SMS വഴി ഫോൺ നമ്പർ അയച്ച് നിങ്ങളുടെ ജോലികൾ തുടർന്നു. നിങ്ങൾ എന്തെങ്കിലും എടുത്തിട്ടുണ്ടോ? ഒരു ഉപകരണം ഉപയോഗിച്ച്—നിങ്ങളുടെ മൊബൈൽ ഫോൺ—നിങ്ങൾക്ക് ഫീഡുകളിലൂടെ സർഫ് ചെയ്യാനും സംഗീതം കേൾക്കാനും ഫോൺ കോളുകൾ ചെയ്യാനും സന്ദേശമയയ്ക്കാനും കഴിയും.
അതിനാൽ, പോളിമോർഫിസം അതിനോട് താരതമ്യപ്പെടുത്താവുന്നതാണ്. പോളി എന്നാൽ അനേകം എന്നാണ് അർത്ഥമാക്കുന്നത്, മോർഫ് വ്യത്യസ്ത രൂപങ്ങളെ സൂചിപ്പിക്കുന്നു. അതിനാൽ, പോളിമോർഫിസം മൊത്തത്തിൽ വിവിധ രൂപങ്ങളുള്ള ഒന്നിനെ സൂചിപ്പിക്കുന്നു.
അല്ലെങ്കിൽ സാഹചര്യത്തെ ആശ്രയിച്ച്, പലതരം പെരുമാറ്റങ്ങൾ പ്രകടിപ്പിക്കാൻ കഴിയുന്ന "എന്തെങ്കിലും". OOPS-ൽ, പോളിമോർഫിസം ഒരേ പേരുകളുള്ളതും എന്നാൽ വ്യത്യസ്തമായ സ്വഭാവങ്ങളുള്ളതുമായ പ്രവർത്തനങ്ങളെ വിവരിക്കുന്നു. പകരമായി, ഒരേ ഫംഗ്ഷൻ നാമമുള്ള മറ്റൊരു ഫംഗ്ഷൻ സിഗ്നേച്ചർ (ഫംഗ്ഷനിലേക്ക് പാരാമീറ്ററുകൾ കൈമാറി).
ഉദാഹരണം:
ഇവിടെ, സീബ്രയുടെയും മുയലിന്റെയും വസ്തുക്കളിൽ അതത് ഉദാഹരണ രീതികൾ ഉപയോഗിച്ച് നമുക്ക് വേരിയബിൾ മൃഗത്തെ ഉപയോഗിക്കാം. തൽഫലമായി, സീബ്രയുടെയും മുയലിന്റെയും സ്വഭാവം (നിറം() & ഈറ്റ്സ്()) ഇവിടെ മൃഗം എന്ന് വിളിക്കപ്പെടുന്ന ഒരു വേരിയബിൾ പ്രതിനിധീകരിക്കുന്നു. അതിനാൽ ഇത് പോളിമോർഫിസം നിയമങ്ങൾ പാലിക്കുന്നു.
സംഗ്രഹം
ഈ ഉള്ളടക്കം വായിക്കാൻ നിങ്ങൾ മിക്കവാറും ഒരു ലാപ്ടോപ്പോ ഫോണോ ടാബ്ലെറ്റോ ഉപയോഗിക്കും. ഇത് വായിക്കുമ്പോൾ, നിങ്ങൾ കുറിപ്പുകൾ എടുക്കുകയും പ്രധാന ഭാഗങ്ങൾ അടിവരയിടുകയും നിങ്ങളുടെ സ്വകാര്യ ഫയലുകളിൽ ചില വിവരങ്ങൾ സൂക്ഷിക്കുകയും ചെയ്യുന്നു.
ഇത് വായിക്കുമ്പോൾ നിങ്ങൾക്ക് കാണാൻ കഴിയുന്നത് നിങ്ങൾക്ക് പ്രദർശിപ്പിക്കുന്ന ഡാറ്റയുള്ള ഒരു "സ്ക്രീൻ" മാത്രമാണ്. നിങ്ങൾ ടൈപ്പുചെയ്യുമ്പോൾ തന്നെ കീബോർഡിന്റെ കീകൾ നിങ്ങൾ കാണും, അതിനാൽ ഒരു കീ അമർത്തുന്നത് ആ വാക്ക് സ്ക്രീനിൽ എങ്ങനെ ദൃശ്യമാകും എന്നതുപോലുള്ള ആന്തരിക സൂക്ഷ്മതകളെക്കുറിച്ച് നിങ്ങൾ വിഷമിക്കേണ്ടതില്ല.
പകരമായി, നിങ്ങളുടെ സ്ക്രീനിൽ ഒരു ബട്ടൺ അമർത്തുന്നത് എങ്ങനെ ഒരു പുതിയ ടാബ് സമാരംഭിക്കും.
അതിനാൽ, ഈ സാഹചര്യത്തിൽ നമുക്ക് നിരീക്ഷിക്കാൻ കഴിയുന്നതെന്തും അമൂർത്തമാണ്. അത് സൃഷ്ടിക്കുന്ന ഫലം മാത്രമേ നമുക്ക് കാണാനാകൂ, ഉള്ളിലെ സങ്കീർണതകളല്ല (യഥാർത്ഥത്തിൽ ഞങ്ങൾക്ക് ഇത് പ്രധാനമാണ്).
ഇതിന് സമാനമായി, ഏതെങ്കിലും നടപ്പാക്കലുകളോ ആന്തരിക വിശദാംശങ്ങളോ മറച്ചുവെക്കുമ്പോൾ എല്ലാം ഉൾക്കൊള്ളുന്ന പ്രവർത്തനങ്ങൾ മാത്രമേ അമൂർത്തീകരണം വെളിപ്പെടുത്തൂ.
അബ്സ്ട്രാക്ഷന്റെ പ്രധാന ലക്ഷ്യം പശ്ചാത്തല വിവരങ്ങളും ഏതെങ്കിലും ബാഹ്യ ഡാറ്റ നടപ്പിലാക്കലും മറച്ചുവെക്കുക എന്നതാണ്, അതുവഴി ആളുകൾക്ക് കാണേണ്ട കാര്യങ്ങൾ മാത്രം കാണാനാകും. കോഡിന്റെ സങ്കീർണ്ണത നിയന്ത്രിക്കാൻ ഇത് സഹായിക്കുന്നു.
ഉദാഹരണം:
വാഹനവുമായി ബന്ധപ്പെട്ട ഒരു അമൂർത്ത ക്ലാസ് ഇവിടെയുണ്ട്. അബ്സ്ട്രാക്റ്റ് ക്ലാസ് എബിസിയിൽ നിന്ന് ഇത് പാരമ്പര്യമായി ലഭിക്കുന്നതിനാൽ, ഇത് അമൂർത്തമാണ്. അമൂർത്തമായ രീതികൾ നിർവചിക്കപ്പെടാത്തതോ ശൂന്യമായി തുടരുന്നതോ ആയതിനാൽ, ക്ലാസ് വെഹിക്കിളിന് നിർവചനം ഇല്ലാത്ത ചക്രങ്ങളുടെ എണ്ണം എന്ന ഒരു അമൂർത്ത രീതിയുണ്ട്.
രീതിയുടെ നടപ്പാക്കൽ നൽകുന്നതിന് അമൂർത്തമായ ക്ലാസുകൾ പാരമ്പര്യമായി ലഭിക്കുന്ന ക്ലാസുകളെ അവർ മുൻകൂട്ടി കാണുന്നു.
OOPS ആശയങ്ങളുടെ പ്രയോജനങ്ങൾ
- എൻക്യാപ്സുലേറ്റ് ചെയ്യുന്നതിലൂടെ, ഉയർന്ന സുരക്ഷയും ഡാറ്റ സ്വകാര്യതയും കൈവരിക്കുന്നു.
- ഒരേ ക്ലാസിന്റെ നിരവധി പോളിമോർഫിക് പതിപ്പുകൾ ഉള്ളതിലെ വഴക്കം.
- കോഡ് സങ്കീർണ്ണതയുടെ ഉയർന്ന തലം അമൂർത്തീകരണം വഴി കുറച്ചു.
- ഒരൊറ്റ പ്രശ്നം കണ്ടെത്തുന്നതിന് നൂറുകണക്കിന് കോഡുകളിലൂടെ അരിച്ചെടുക്കുന്നതിനുപകരം, പ്രോഗ്രാമിംഗിന്റെ മോഡുലാരിറ്റി ഡീബഗ്ഗിംഗ് ലളിതമാക്കുന്നു.
- കോഡ് പുനരുപയോഗം ഒരു ചൈൽഡ് ക്ലാസിന്റെ പാരന്റ് ക്ലാസ് പ്രോപ്പർട്ടികളുടെ അനന്തരാവകാശം മൂലമാണ്.
- ഓരോ മിനി പ്രശ്നത്തിനും ആവശ്യമായ പ്രവർത്തനങ്ങൾ ചെയ്യുന്ന ക്ലാസുകൾ ഞങ്ങൾ സൃഷ്ടിക്കുന്നതിനാൽ ഫലപ്രദമായ പ്രശ്നപരിഹാരം സാധ്യമാണ്. നമുക്ക് ആ ക്ലാസുകൾ വീണ്ടും ഉപയോഗിക്കാൻ കഴിയുന്നതിനാൽ ഇനിപ്പറയുന്ന പ്രശ്നം കൂടുതൽ വേഗത്തിൽ പരിഹരിക്കാൻ കഴിയും.
തീരുമാനം
ഉപസംഹാരമായി, ഇപ്പോൾ ഏറ്റവും ചൂടേറിയ പ്രോഗ്രാമിംഗ് മാതൃകയായ പൈത്തണിലെ OOPS ആശയങ്ങളെക്കുറിച്ച് ഞങ്ങൾ പഠിച്ചു.
ഇത് വായിച്ചതിനുശേഷം, OOPS മാതൃക പൂർണ്ണമായും ക്ലാസുകളുടെയും ഒബ്ജക്റ്റുകളുടെയും ആശയം കൈകാര്യം ചെയ്യുന്നുണ്ടെന്ന് നിങ്ങൾ മനസ്സിലാക്കിയിരിക്കണം. എൻക്യാപ്സുലേഷൻ, പോളിമോർഫിസം, അനന്തരാവകാശം, അമൂർത്തീകരണം തുടങ്ങിയ OOPS ആശയങ്ങളും.
നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക