1. OOP இன் கொள்கைகளை அறிமுகப்படுத்துதல்

இன்று நீங்கள் ஒரு புதிய மற்றும் சுவாரஸ்யமான உலகத்தைக் கண்டுபிடிப்பீர்கள். பொருள் சார்ந்த நிரலாக்க உலகம் ( OOP ). வகுப்புகள் மற்றும் பொருள்களைப் பற்றி நீங்கள் முன்பு கற்றுக்கொண்டீர்கள். இன்று நீங்கள் அவர்களைப் பற்றி மேலும் மேலும் அறிந்து கொள்வீர்கள்.

நிரல்களின் அதிகரித்து வரும் சிக்கலான தன்மைக்கு விடையாக OOP தோன்றியது. நிரல்களில் மாறிகள் மற்றும் முறைகள் பல்லாயிரக்கணக்கான எண்ணிக்கையில் தொடங்கும் போது, ​​​​ஏதாவது செய்ய வேண்டும் என்பது தெளிவாகியது. தரவு மற்றும் தொடர்புடைய முறைகளை தனித்தனி பொருள்களாக இணைப்பது ஒரு தீர்வாகும்.

இப்போது புரோகிராமர்கள் பொருள்கள் வெளிப்புறமாக எவ்வாறு தொடர்பு கொள்கின்றன மற்றும் அவை எவ்வாறு உள்நாட்டில் செயல்படுகின்றன என்பதை தனித்தனியாக விவரிக்க வேண்டும். இது நிரல்களைப் புரிந்துகொள்வதையும் எழுதுவதையும் மிகவும் எளிதாக்கியது. இருப்பினும், ஒரு கேள்வி எஞ்சியிருந்தது: எந்த முறைகள் ஒரு பொருளுக்கு உட்புறமாக இருக்க வேண்டும் மற்றும் பிற பொருட்களுக்கு எது கிடைக்க வேண்டும்?

பல அணுகுமுறைகள் முயற்சிக்கப்பட்டன. கண்டுபிடிக்கப்பட்ட சிறந்த நடைமுறைகளின் அடிப்படையில், OOP இன் 4 கொள்கைகள் வெளிப்பட்டன. அவை சுருக்கம், இணைத்தல், பரம்பரை மற்றும் பாலிமார்பிசம் . முன்னதாக, மூன்று மட்டுமே இருந்தன, ஆனால் நிபுணர்கள் பின்னர் சுருக்கத்தையும் சேர்க்க முடிவு செய்தனர்.


2. சுருக்கம்

இணையத்தில் உள்ளவர்கள் இன்னும் OOP இல் உள்ள சுருக்கத்தின் வரையறை குறித்து வாதிடுகின்றனர் . எல்லோரும் தவறு செய்கிறார்கள் என்பதல்ல பிரச்சனை. எல்லோரும் சரி என்பதுதான் அது . ஒரு நிரல் சிறியதாக இருந்தால், ஜாவா மொழியுடன் அதிக சுருக்கம் இணைக்கப்பட்டுள்ளது. ஒரு நிரல் பெரியதாக இருந்தால், நிஜ-உலகப் பொருட்களை மாடலிங்/எளிமைப்படுத்துவதில் அதிக சுருக்கம் இணைக்கப்பட்டுள்ளது.

ஆனால் சிறந்த மனங்கள் இதை ஒப்புக்கொள்கின்றன:

சுருக்கம் என்பது ஒரு பொருளின் குணாதிசயங்களை மட்டுமே ஒரு நிரலில் போதுமான அளவு துல்லியமாக பிரதிநிதித்துவப்படுத்துவதாகும். உங்கள் பணிகளை போதுமான துல்லியத்துடன் தீர்க்க ஒரே நேரத்தில் அனுமதிக்கும் சிறிய புலங்கள் மற்றும் முறைகளுடன் பொருளைப் பிரதிநிதித்துவப்படுத்துவதே முக்கிய யோசனை .

ஜாவாவில், சுருக்க வகுப்புகள் மற்றும் இடைமுகங்கள் மூலம் சுருக்கம் செய்யப்படுகிறது.

நிஜ வாழ்க்கையில் சுருக்கம்

நிஜ வாழ்க்கையில் சுருக்கத்திற்கு ஒரு சிறந்த உதாரணம் ஒரு நிறுவனம் அல்லது நிறுவனத்தில் வேலை விளக்கங்கள். ஒரு பதவியின் தலைப்பு ஒரு விஷயம், ஆனால் ஒரு பதவிக்கு ஒதுக்கப்பட்ட குறிப்பிட்ட பொறுப்புகள் முற்றிலும் வேறுபட்ட விஷயம்.

உங்கள் எதிர்கால நிறுவனத்தின் நிறுவன கட்டமைப்பை நீங்கள் வடிவமைக்கிறீர்கள் என்று கற்பனை செய்து பாருங்கள். நீங்கள் செயலகப் பொறுப்புகளைப் பிரித்து, பல்வேறு நிலைகளில் அவற்றைச் சிதறடிக்கலாம். நீங்கள் CEO பதவியை பல தனித்தனி பதவிகளாக பிரிக்கலாம்: CFO, CTO, CMO, HR இயக்குனர். அல்லது, எடுத்துக்காட்டாக, நீங்கள் அலுவலக மேலாளர் மற்றும் பணியமர்த்துபவர் பதவிகளை ஒன்றாக இணைக்கலாம்.

நீங்கள் வேலை தலைப்புகளைப் பற்றி யோசித்து, இந்த பதவிகளுக்கான பொறுப்புகளைப் பிரிக்கிறீர்கள். சுருக்கம் என்பது பொருளிலிருந்து ஒட்டுமொத்தமாக பிரிந்து, நமக்குத் தேவையான அத்தியாவசிய பண்புகள் மற்றும் கூறுகளைத் தேர்ந்தெடுப்பது.

OOP இன் கொள்கைகளை அறிமுகப்படுத்துதல்.  சுருக்கம்

ஒரு நிரலாக்கக் கண்ணோட்டத்தில், சுருக்கம் என்பது ஒரு நிரலை பொருள்களாகப் பிரிப்பது ஆகும் . பொதுவாக, எந்தவொரு பெரிய நிரலையும் ஊடாடும் பொருள்களாகக் குறிக்க டஜன் கணக்கான வழிகள் உள்ளன. சுருக்கமானது அத்தியாவசிய பண்புகளைத் தேர்ந்தெடுக்கவும், அத்தியாவசியமற்றவற்றைப் புறக்கணிக்கவும் உங்களை அனுமதிக்கிறது.


3. இணைத்தல்

பொருள்களை எளிமையாக்குவதன் மூலம் தொடர்புகளை மேம்படுத்துவதே இணைப்பின் குறிக்கோள் .

துருவியறியும் கண்களிலிருந்து சிக்கலான எதையும் மறைப்பதே ஒன்றை எளிமையாக்குவதற்கான சிறந்த வழி. எடுத்துக்காட்டாக, நீங்கள் போயிங் ஜம்போ ஜெட் விமானத்தின் காக்பிட்டிற்குள் நுழைந்தால், அதை எவ்வாறு இயக்குவது என்பது உங்களுக்கு உடனடியாகப் புரியாது:

ஆனால் விமானத்தில் பயணிப்பவர்களுக்கு எல்லாம் எளிமையானது: நீங்கள் ஒரு டிக்கெட்டை வாங்கி விமானத்தில் ஏறுங்கள், அது புறப்பட்டு தரையிறங்குகிறது. "டிக்கெட் வாங்கவும்" மற்றும் "விமானத்தில் ஏறவும்" மட்டுமே திறன் கொண்ட நீங்கள் ஒரு கண்டத்திலிருந்து மற்றொரு கண்டத்திற்கு எளிதாக பறக்க முடியும். விமானம், புறப்படுதல், தரையிறக்கம் மற்றும் பல்வேறு அவசரகால சூழ்நிலைகளுக்கு விமானத்தைத் தயாரிப்பதில் உள்ள அனைத்து சிக்கல்களும் உங்களிடமிருந்து மறைக்கப்பட்டுள்ளன. செயற்கைக்கோள் வழிசெலுத்தல், தன்னியக்க பைலட் மற்றும் விமான போக்குவரத்து கட்டுப்பாட்டு மையங்கள் பற்றி குறிப்பிட தேவையில்லை. மேலும் இது நமக்கு வாழ்க்கையை எளிதாக்குகிறது.

ஒரு நிரலாக்கக் கண்ணோட்டத்தில், இணைத்தல் என்பது "செயல்படுத்துதலை மறைக்கிறது". நான் இந்த வரையறையை விரும்புகிறேன். எங்கள் வகுப்பில் நூற்றுக்கணக்கான முறைகள் உள்ளன மற்றும் பல்வேறு சூழ்நிலைகளில் மிகவும் சிக்கலான நடத்தைகளை செயல்படுத்த முடியும். ஆனால் நாம் அதன் அனைத்து முறைகளையும் துருவியறியும் கண்களிலிருந்து மறைக்க முடியும் (அவற்றை தனிப்பட்ட மாற்றியமைப்புடன் குறிப்பதன் மூலம்), மற்ற வகுப்புகளுடன் தொடர்புகொள்வதற்கு இரண்டு அல்லது மூன்று முறைகளை மட்டுமே விட்டுவிடலாம் (பொது மாற்றியமைப்புடன் குறிப்பதன் மூலம்). எங்கள் திட்டத்தின் மற்ற அனைத்து வகுப்புகளும் மூன்று பொது முறைகளை மட்டுமே பார்க்கும் மற்றும் அவற்றை அழைக்கும் ஆனால் மற்றவை அல்ல. காக்பிட் மகிழ்ச்சியான பயணிகளிடமிருந்து மறைக்கப்படுவது போல, அனைத்து சிக்கல்களும் வகுப்பிற்குள் மறைக்கப்படும்.


4. பரம்பரை

பரம்பரைக்கு இரண்டு பக்கங்கள் உள்ளன . நிரலாக்கத்தில் பரம்பரை மற்றும் நிஜ வாழ்க்கையில் பரம்பரை. நிரலாக்கத்தில், பரம்பரை என்பது இரண்டு வகுப்புகளுக்கு இடையிலான ஒரு சிறப்பு உறவாகும் . ஆனால் நிஜ வாழ்க்கையில் பரம்பரை மிகவும் சுவாரஸ்யமானது.

நிஜ வாழ்க்கையில் எதையாவது உருவாக்க வேண்டும் என்றால், நமக்கு இரண்டு விருப்பங்கள் உள்ளன:

  1. நிறைய நேரத்தையும் முயற்சியையும் செலவழித்து, புதிதாக நமக்குத் தேவையான விஷயத்தை உருவாக்கவும்.
  2. ஏற்கனவே உள்ள ஒன்றை அடிப்படையாகக் கொண்டு நமக்குத் தேவையான விஷயத்தை உருவாக்கவும்.

உகந்த உத்தி இதுதான்: ஏற்கனவே உள்ள ஒரு நல்ல தீர்வை எடுத்து, அதை சிறிது மாற்றியமைத்து, அதை நம் தேவைகளுக்கு ஏற்றவாறு சரிசெய்து, பின்னர் அதைப் பயன்படுத்தவும்.

மனித வரலாற்றை அதன் ஆரம்பம் வரை நாம் கண்டறிந்தால், கிரகத்தில் உயிர்கள் தொடங்கி பில்லியன் கணக்கான ஆண்டுகள் கடந்துவிட்டன என்பதைக் கண்டுபிடிப்போம். ஆனால் மனிதர்களின் தொடக்கப் புள்ளியை நமது முதன்மையான மூதாதையர்கள் என்று நாம் கருதினால் (அதாவது மனிதர்கள் "அடிப்படையிலான" ப்ரைமேட் மூதாதையர்), பின்னர் இரண்டு மில்லியன் ஆண்டுகள் மட்டுமே கடந்துவிட்டன. புதிதாக கட்டிடம் அதிக நேரம் எடுக்கும். மிக தூரமாக.

நிரலாக்கத்தில், ஒரு வகுப்பை மற்றொன்றின் அடிப்படையில் உருவாக்குவதன் மூலம் நீங்கள் இதேபோன்ற ஒன்றைச் செய்யலாம். புதிய வர்க்கம் ஏற்கனவே உள்ள வகுப்பிலிருந்து (மரபுரிமையாக) இறங்குகிறது. ஏற்கனவே உள்ள வகுப்பில் 80-90% தரவு மற்றும் நமக்குத் தேவையான முறைகள் இருக்கும்போது இது மிகவும் பயனுள்ளதாக இருக்கும். எங்கள் புதிய வகுப்பின் பெற்றோராக பொருத்தமான வகுப்பை நாங்கள் அறிவிக்கிறோம், மேலும் பெற்றோர் வகுப்பின் அனைத்து தரவுகளும் முறைகளும் தானாகவே புதிய வகுப்பில் தோன்றும். வசதியானது, இல்லையா?


5. பாலிமார்பிசம்

பாலிமார்பிசம் என்பது ஒரு நிரலாக்க கருத்து. ஒரு இடைமுகத்தின் பின்னால் வெவ்வேறு செயலாக்கங்கள் மறைந்திருக்கும் சூழ்நிலையை இது விவரிக்கிறது. நிஜ வாழ்க்கையைப் பார்க்கும்போது, ​​வாகனத்தை இயக்குவது மிகவும் பொருத்தமாக இருப்பதைக் காண்கிறோம்.

யாராவது ஒரு டிரக்கை ஓட்ட முடிந்தால், அவளை ஆம்புலன்ஸின் சக்கரத்திற்குப் பின்னால் அல்லது ஸ்போர்ட்ஸ் காரின் சக்கரத்திற்குப் பின்னால் வைக்கலாம். ஒரு நபர் எந்த வகையான காரைப் பொருட்படுத்தாமல் ஒரு காரை இயக்க முடியும், ஏனென்றால் எல்லா கார்களும் ஒரே கட்டுப்பாட்டு இடைமுகத்தைக் கொண்டுள்ளன: ஸ்டீயரிங், பெடல்கள் மற்றும் கியர்ஷிஃப்ட். கார்களின் உட்புறங்கள் வேறுபட்டவை, ஆனால் அவை அனைத்தும் ஒரே கட்டுப்பாட்டு இடைமுகத்தைக் கொண்டுள்ளன.

நிரலாக்க உலகத்திற்குத் திரும்புகையில், பாலிமார்பிஸம் வெவ்வேறு வகுப்புகளின் பொருட்களை (பொதுவாக ஒரு பொதுவான மூதாதையரைக் கொண்ட) அதே வழியில் அணுக அனுமதிக்கிறது, அதன் மதிப்பை மிகைப்படுத்த முடியாது. நிரல் பெரிதாக வளர அதன் மதிப்பு அதிகரிக்கிறது.

OOP என்றால் கொள்கைகள். உள் சட்டங்கள். அவை ஒவ்வொன்றும் ஏதோவொரு வகையில் நம்மைக் கட்டுப்படுத்துகின்றன , ஆனால் நிரல் பெரியதாக மாறும்போது பதிலுக்கு பெரும் நன்மைகளை வழங்குகிறது. OOP இன் நான்கு கோட்பாடுகள் ஒரு அட்டவணையின் நான்கு கால்கள் போன்றவை. ஒன்றை எடுத்துக் கொள்ளுங்கள், முழு அமைப்பும் நிலையற்றதாகிவிடும்.