Pages

Friday, April 24, 2015

OOP Part 3 ( Classes & Objects )


Classes and Objects in OOP


දැන් අපිට ඕන java code එකක් දැක්කම සම්පූර්ණයෙන්ම බැරි වුනත් පොඩි හරි idea එකක් ගන්න පුළුවන්නෙ ඒකෙන් වෙන්නෙ මොකක්ද කියලා.. තාමත් එහෙම බැරි කෙනෙක් ඉන්නවානම් මෙතනින් ගිහින් බලන්න කොහොමද අපි එහෙම code එකක් දැක්ක ගමන් ඒක ගැන idea එකක් ගන්නෙ කියලා.. එහෙනම් දැන් අපි අද දවසෙ මාතෘකාවට බහිමු.

අද අපේ මාතෘකාව වෙන්නෙ classes & objects නේ.. ඇත්තටම මේක ගැන කතා කරන්න හිතුවේ OOP ගැන කතා කරනවනම් අනිවාර්යෙන්ම මේ දෙක ගැන හොඳටම idea එකක් තියෙන්න ඕන නිසයි. (definition නෙවෙයි මොකක්ද මේ කියලා idea එකක්) මොකද මේ දෙක මත තමයි OOP කියන concept එක තනිකරම දුවන්නෙ. ඉතින් මුල හරියට දාගත්තෙ නැති වුනොත් මෙතනින් එහා කිසිම දෙයක් තේරෙන එකක් නෑ. ඒකයි අද මාතෘකාව විදියට මේ දෙකම තෝරාගත්තෙ..


Objects


මුලින්ම අපි Object එකක් කියන්නෙ මොකක්ද කියලා බලමු. මොකද classes ගැන කියලා object ගැන කියනවට වඩා අපිට තේරුම් ගන්න ලේසියි Objects .ගැන කියලා classes ගැන කතා කලොතින්.. මොකක්ද මේ එහෙනම් Object එකක් කියන්නෙ? programming පොඩ්ඩක් අමතක කරලා හිතලා බලමුකො මොකක්ද මේ Object එකක් කියන්නෙ කියලා. එතකොට මෙහෙම Object එකක් කියන්නෙ මොකක් හරි දේකට නේද? ඉතින් programming වලදිත් මෙහෙම Object එකක් කියන්නෙ ඒ විදියට ප්‍රායෝගික ලෝකේ පවතින දේවල් වලටම තමයි.  මෙහෙම කිව්වට හරියන්නෙ නෑ අපි හැමදාම වගේ ගමු උදාහරණයක්.

අපිට car sale එකකට system එකක් හදන්න කිව්වා කියන්කෝ.. එතකොට අපිට ඒ system එකට එන real world එකේ objects ටිකක් තමයි car, van , bus වගේ දේවල්. හරිනේ.. එතනින් අපි බලමු මේ real world object එකක් වෙන car එක programming වලදි object එකක් වෙන්නෙ කොහොමද කියලා.




මේ තියෙන්නෙ car එක ගැන අපිට system එකට අවශ්‍ය වෙන data ටිකක්. ඒ කියන්නෙ ඇත්තටම car එකේ තියෙන properties ටිකක්.. ඊළඟට අපි බලමු car එකට කරන්න පුළුවන් දේවල් එහෙමත් නැත්නම් actions මොනවද කියලා..





මේ තියෙන්නෙ car එකට කරන්න පුළුවන් දේවල් (action) ටිකක්නේ.. එහෙනම් මොකක්ද object එකක් කියලා programming වලදි කියන්නෙ??





මෙන්න මේක තමයි car object එක කියන්නෙ.. එහෙනම් මොකක්ද Object එකක් කියලා කියන්නේ? real world එකේ පවතින දේක (object එකක) තියෙන properties සහ actions (function) එකට ගත්තම ඒකට කියනවා object එකක් කියලා.. දැන් object එකක් කියන්නෙ මොකක්ද කියලා පොඩි හරි idea එකක් එනවා නේද?



Classes


දැන් object එකක් කියන්නෙ මොකක්ද කියලා idea එකක් තියෙන නිසා අපි බලමු මොකක්ද මේ class එකක් කියන්නෙ කියලා.. class එකක් කියන්නෙ ඇත්තටම template එකක් එහෙමත් නැත්නම් අච්චුවක් කියලා දැනට පොඩ්ඩක් ඔලුවට දාගන්නකෝ.. 

දැන් අපි කලින් උදාහරණෙම ගමු. ඒකෙදි අපි ගත්තෙ car එකනේ.. ඉතින් මේ car කියන වර්ගෙන් අපිට මේ sale එකේ අපේ ගෙදර එකයි, එහා ගෙදර එකයි වගේ දෙකම තිබුනා කියලා හිතන්නකෝ.. දැන් එතකොට ඒ දෙකේම පාටවල් සමාන වෙනවද? price එක සමාන වෙනවද? එහෙනම් මේ properties එකකට එකක් වෙනස් වෙනවා නේද? හැබැයි වෙනස් වෙන්නෙ property එකේ value එක විතරයි property එකේ type එක වෙනස් වෙන්නෙ නෑ..




හැම වාහනේකටම අදාළව colour, seats, price, passengers කියන properties ටික පොදුවෙ තියෙනවා, drive, reverse, park, engineStart කියන function ටිකත් තියෙනවා.. එහෙනම් මෙන්න මේ විදියට object එකකට අදාළව තියෙන Properties සහ Functions එකට දාලා හදාගන්න template එක එහෙමත් නැත්නම් අච්චුවට තමයි class එකක් කියලා කියන්නෙ..

එතකොට දැන් system එකට අපේ ගෙදර car එක ගැන විස්තර දාන්න ඕනනම් මේ class එක (අච්චුව) use කරලා object එකක් හදාගෙන ඒකේ properties ටිකට අපේ ගෙදර car එකට අදාළ values ටික දාගන්න විතරයි තියෙන්නෙ.. එහා ගෙදර එක ඕනනම් ඒ වගේම තව object එකක් හදාගෙන ඒකට අදාළ values ටික දාගන්නයි තියෙන්නෙ.. තේරෙනවා නේද මේ එක අච්චුවක් එහෙමත් නැත්නම් class එකක් හදාගෙන ඒකෙන් object හදාගන්න එක නිසා අපිට වැඩේ ගොඩක්ම ලේසි වෙනවා කියලා.. ඒකයි අපි මේ කතා කරන OOP වලටත් මේ දෙන්නා ගොඩක්ම වටින්නේ..


ඔන්න දැන් class එකක් කියන්නෙ මොකක්ද කියලයි object එකක් කියන්නෙ මොකක්ද කියලයි පොඩි හරි idea එකක් දැනෙන්න ඇති කියලා හිතෙනවා.. එහෙනම් අපි OOP වල ඊළඟ කොටසත් එක්ක ඉක්මනටම හමු වෙමු. දිගටම අපිත් එක්ක ඉඳලා සුපිරි වෙනසක් කරමු මේ programming වල..

4 comments:

  1. අනිවා සුපිරි වෙනසක් කරමු , ගොඩක් ස්තුති වේවා මට තිබුන ප්‍රශ්න ගොඩකට පිළිතුරු ලැබුනා , ඔය පාන්දර 1.54 වෙනකන් ඇහැරල අපි වගේ නොදන්නා එවූන් වෙනුවෙන් මහන්සි වෙන එකට ගොඩක් පින් මචන් ජය ශ්‍රී

    ReplyDelete

Contact Form

Name

Email *

Message *