Object oriented programming(பொருள் நோக்கு நிரலாக்கம்)
C போண்ற கட்டமைப்பு சார்ந்த மொழிகளில் எண்களையும், எழுத்துக்களின் கோவைகளையும் தான் உபயோகிக்கிறோம். ஆனால் நாம் இயல் வாழ்க்கையில் நம்மைச் சுற்றி உள்ள பொருட்களான telephone,car,bank போன்ற பொருட்களை அவற்றில் நிரலாக்கம் செய்ய முடியாது.
ஒவ்வொரு பொருட்களுக்கும்(objects) பண்புகள் இருக்கின்றன. அதைப் போல் அதன் மேல் நாம் நிகழ்த்தும் நிகழ்வுகளும் இருக்கின்றன.(each object has attributes and actions we have acted upon them).
உதாரணமாக வானொலியை எடுத்துக் கொண்டால் அதன் பண்புகளான volume, frequency போன்றவைகளும் அதன்மேல் நாம் நிகழ்த்தும் நிகழ்வுகளாக
On, off, mute போன்றவைகளும் இருக்கின்றன.
பொருட்களானது இனங்களாக ஒரே பொதுவான பண்புகளும், behavior ம் கொண்டிருக்கிறன. அவை ஒரே குழுவைச் சேர்ந்த இனங்களாக அறிவிக்கப் படுகின்றது.
இனங்ககளானது(class) ஒரு template ஆக வரையறுக்கப்படுகின்றது.
அவற்றில் பண்புகள்(attributes) data ஆகவும் behavior ,method ஆகவும் உட் பொதிக்கப் ப்டுகின்றது.
Class ஆனது கட்டிடங்களின் blue print போண்றதாகும். Blue print ல் நீங்கள் வசிக்க முடியாது. அவற்றை வைத்து எழுப்பப்படும் கட்டிடங்களில் தா நீங்கள் வசிக்க முடியும்.அது போலவே நிரலில் class ன் உறுப்புகளாக உள்ள object ஐ த்தான் நிரலில் உபயோகிக்க முடியும்.
பொருள் நோக்கு நிரலாக்கமானது data வை மையமாகக் கொண்டு உருவாக்கப்படுகின்றது.. ஒரு classல் உள்ள data வானது மற்ற class களின் மெத்தட்களால் நேரடியாக அவற்றை அணுக முடியாத படியும் மெதொட் க:ளின் மூலமே அவற்றை அணுகும் படியும் உள்ளது.
நீங்கள் ஒரு டிவியை பார்க்க வேண்டுமென்றால் அதில் உள்ள on பட்டனை மட்டும் சொடுக்கினால் போதும்,உள்ளே உள்ள எலக்ட்ரிக் சுற்றுக்களில் ஏன்ன நடக்கின்றது என்று அறிய தேவை இல்லை.
இதுவே உறை பொதியாக்கம் (encapsulation) எனப்படுகின்றது.
பெரிய நிரல்களை கூறுகளாக பிரித்து அணுகும் procedural approach ஒரே project ஐ தனி தனியாக ப்ரித்துச் செய்யும் போது உதவாது.
ஒரு ப்ரொஜெக்ட்டை எடுத்துக் கொண்டால் reusability க்கே முக்கியத்துவம் கொடுக்கப் படுகின்றது.
உதாரணமாக ஒரு employee class ன் பண்புகள் manager classக்கும் இருக்கும்.
கூடுதலாக அதற்கென்று சில பண்புகள் இருக்கலாம். என்வே ஒரு manager உருவாக்கும் போது employee Class ஐ inherit செய்து கொண்டு கூடுதல் பண்புகளை மட்டும் அறிவித்தல் மரபுரிமம்(inheritance) எனப்படுகின்றது.
வாகனம் என்ற ஒன்றை எடுத்துக் கொண்டால் இயல் வாழ்க்கையில் அப்படி ஏதும் கிடையாது. Bicycle, car, van போன்றவையே இருக்கின்றது. அப்போது வாகனம் என்ற இனத்தை abstract class ஆக அறிவிக்கலாம். வாகனம் என்ற
classக்கு object ஏதும் உருவாக்க முடியாது.
ஆனால் அதனை அடிப்படையாக கொண்டு உருவாக்கப்படும் car என்ற classக்கு
Object உருவாக்க முடியும் இது தான் data abstraction எனப்படுகின்றது.
ஒரே மெதொடை ஒரு விதமான ஆர்க்யுமென்ட் செலுத்தும் போது செலுத்தும் போது செவ்வகத்தின் பரப்பளவையும் வேறு விதமான ஆர்க்யுமென்ட் செலுத்தும் போது முக்கோணத்தின் பரப்பளவையும் கண்டு பிடிக்கலாம் .
இதுவே பல்லுருவாக்கம் (polymorphism)எனப்படுகின்றது. இவற்றில் மெதொட் ஒவெர்லோடிங், மெதொட் ஒவெர்ரைடிங் ஏன இரு வகை இருக்கின்றன
_____-தொடரும்
No comments:
Post a Comment