Saturday 12 November 2016

ஜாவா பாடம்-1




Java-ஜாவா-ஒரு அறிமுகம்.



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

இவற்றில் நிரலாக்கம் செய்தால் ஒரு சாதனத்தில் செய்யப்பட்ட நிரலை வேறொரு சாதனத்தில் அப்படியே இயக்க முடிய வில்லை. ஒவ்வொரு சாதனத்திற்கும் ஏற்றாற் போல் நிரல் பெயர்ப்பி(compiler) எழுத வேண்டியிருந்தது. Compiler என்பது விலை உயர்ந்ததாய் இருந்தது.
எனவே ஒரு portable language தேவைப்பட்டது.
மேலும் இரண்டாவது காரணம்
இணையம் கண்டு பிடிக்கப்பட்டது. இணையம் சம்பந்தப்பட்ட பயன்பாடுகக்ள்(applications) உருவாக்குவதற்கு ஒரு மொழி தேவைப்பட்டது.
இந்த இரண்டுமே ஜாவா மொழி கண்டு பிடிக்கப்பட காரணமாகும்.
ஆம் ஜாவா ஒரு portable மொழியாகும்.
இத்ற்கு முன் oak என்று பெயரிடப்பட்டிருந்த இந்த மொழியை உருவாக்கிய
சன் மைக்ரோ சிஸ்டம் சேர்ந்த நிரலாளர்கள் ஜாவா காஃப்பி குடித்துக்
கொண்டே என்ன பெயரிடலாம் என்று யோசித்த போது  காஃப்பியின் பெயரிட்டால் என்று தோன்றியது. இதுவே ஜாவா என்று பெயரிட காரணமாகும்.
Java is a both  compiled and interpreted language.
முதலில் ஜாவா compile செய்யப்ப்ட்டு class file ஆக மாற்றப்படுகின்றது.
பிறகு jvm (java virtual machine) ஆல் இன்டெர்ப்ரெட் செய்ய்ப்பட்டு இயக்கப்படுகின்றது.
ஜாவா ஒரு பொருள் நோக்கு நிரலாக்க மொழியாகும்(object oriented language).
மேலும் ஜாவா ஒரு நவீன மொழியாகும். உயர்தர பிழை கையாளுதல் (exception handling) மற்றும் garbage collection கொன்ண்டுள்ளது. அதாவது garbage collector ஆனது அவ்வப்போது இயங்கி நிரல் ஆக்கிரமித்திருந்த நிணைவகத்தை release செய்கிறது.
ஜாவாவில் pointer கிடையாது. எனவே ஜாவா நிரலால் நம் கணினியில் உள்ள நிணைவத்தை அணுக முடியாது. எனவே hacking போன்றவை தடுக்கப்படுகின்றன.
எனவே ஜாவா ஒரு பாதுகாப்பான மொழி எனப்படுகின்றது(java is a secured language)
மேலும் ஜாவாவில் multiple inheritance கிடையாது.
ஜாவா படிப்பதற்கு முன் ஒரு ide(Integrated development environment) ஐ உங்கள் கணினியில் டவுன் லோட் செய்து இயக்குங்கள்..(Netbeans,eclipse)  

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