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

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

1) சுருக்கம்.

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

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

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

OOP: அடிப்படைக் கொள்கைகள் - 1

ஒரு புரோகிராமரின் கண்ணோட்டத்தில், சுருக்கம் என்பது ஒரு நிரலை பொருள்களாக சரியாகப் பிரிப்பதாகும்.

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

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

2) அடைப்பு.

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

OOP: அடிப்படைக் கொள்கைகள் - 2

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

OOP: அடிப்படைக் கொள்கைகள் - 3

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

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

3) பரம்பரை.

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

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

1) புதிதாக நமக்குத் தேவையானதைச் செய்து, நிறைய நேரத்தையும் முயற்சியையும் செலவிடுங்கள்.

2) ஏற்கனவே உள்ள பொருட்களைப் பயன்படுத்தி நமக்குத் தேவையானதை உருவாக்குங்கள்.

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

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

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

4) பாலிமார்பிசம்.

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

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

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

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