Pages

Sunday, April 26, 2015

OOP Part 4 ( Classes & Objects with Codings )

 Creating an Object from a Class



දැන් අපිට Object එකක් කියන්නෙ මොකක්ද කියන එකයි, Class එකක් කියන්නෙ මොකක්ද කියන එකයි ගැන idea එකක් තියෙන නිසා අපි බලමු කොහොමද මේ දෙක programming වලදි, ඒ කියන්නෙ codings ලියද්දි use කරන්නෙ කියලා.. ඉතින් කාටහරි තාමත් මේ දෙක ගැන හොඳ idea එකක් නැත්නම් මෙතනින් ගිහිල්ලා ඒ ටික බලලම එන්නකෝ. මොකද අද අපි කතා කරන දේට ඒ දේවල් ගොඩක්ම සම්බන්ධ වෙනවා..

Class


අපි කලින් දවසෙ ( OOP Part 3 ) එකෙන් කතා කරපු උදාහරණෙම එහෙනම් ගමු නේද අද? එදා අපි කතා කරේ car sale එකක් ගැනනේ.. ඉතින් ඔන්න එහෙනම් අපි දැන් ඒ හදාගත්තු Car class එකට program එක ලියන්නයි යන්නෙ..




හරි මෙහෙමයි අපිට දැන් මෙතෙන තියෙනවා colour, seats, price, passenger කියලා car එකේ properties ටිකක්. දැන් අපිට මුලින්ම තේරෙන්න ඕන දේ තමයි මේවා තියාගන්න අපි හදන class එකේ variable ටිකක් හදන්න ඕන කියන එක. ඊළඟට ඉතින් variable එකක් හදද්දි එකේ data type එකක් දෙන්න ඕන නිසා මේ properties තියාගන්න හොඳම data types ටික අපි select කරගන්නත් ඕන.. (කාටහරි variable ගැන දැනුම මදියි වගේ හිතෙනවානම් අපේ java list එකේ ඒ ගැන දාලා ඇති පොඩ්ඩක් බලන්න.)


හරි අපි එහෙනම් බලමු මේ properties වලට හරියන data types මොනවද කියලා..





colour කියන එක යටතේ වචන වැටෙන නිසා ඒකෙ data type එක වෙන්න ඕන String එකක්, Seats වලයි passenger වලයි integer number එකක් තියෙන නිසා ඒ දෙකේ data type එක වෙන්න ඕන int එකක්. price කියන එකේ දශම ස්ථාන තියෙන නිසා ඒකෙ data type එක වෙන්න ඕන double එකක්.


හරි අපි දැන් මුලින්ම බලමු මේ ටික කොහොමද class එකක codings විදියට ලියන්නෙ කියලා..




මෙන්න මේ විදියට අපිට Car කියන නමින් class එකක් හදලා ඒක ඇතුලෙ අපිට අවශ්‍ය properties තියාගන්න අවශ්‍ය variables ටික හදාගන්න තමයි තියෙන්නෙ.. ( Java basic වලදි class එකක් හදන හැටි ගැනයි variable ගැනයි අපි කලින් කතා කරලා තියෙන නිසා දැන් ඒ ගැන ආපහු කතා කරන එකේ තේරුමක් නෑ නේද? කාටහරි මේ ගැන තේරුනේ නැත්නම් පොඩ්ඩක් ඒ දෙක බලලා එන්න.)


හරි.. ඊළඟට අපිට කරන්න තියෙන්නෙ මේ class එකට එන්න ඹ්න අනිත් කොටස් ටික. ඒ කියන්නේ අපේ car class එකේ තියෙන functions ටික java වල methods විදියට මේ අපි දැන් ලියපු car class එකේම ලියන එක තමයි.. එහෙනම් බලමුකෝ ඒක කොහොමද කරන්නෙ කියලා..




මෙන්න මෙහෙමයි එතකොට අපේ properties ටිකයි function ටිකයි දාපු complete class එක ලියවෙන්නෙ එතකොට.. ඉතින් මේකෙ කාටහරි තේරෙන්නෙ නෑ වගේ දැනෙනවනම් ඒ method ගැන දැනුමක් නැති නිසා වෙන්න ඕන. ඒක නිසා එහෙම දැනෙන කෙනෙක් ඉන්නවා නම් මෙතනින් ගිහින් ඒක ගැන බලලම එන්නකෝ..


ඔන්න ඔහොමයි ඉතින් class එකකට codings ලියන්නෙ.. ඔන්න අපි කස්ටියටම දැන් ඕනම real world එකකට අදාළව class එකක් ලියාගන්න පුළුවන් නේද? :-) ( ඒකනේ කියන්නෙ හරියට තේරුම් ගත්තොත් පාඩම් කරන්න දේකුත් නෑ, පේන තරම් අමාරුත් නෑ කියලා.)


Object



හරි ඔන්න එහෙනම් දැන් මේ ලෑස්ති වෙන්නෙ කලින් අපි හදපු Class එක use කරලා Programming වලදී Object එකක් හදලා ඒකට අර properties වල values දාන්නෙ කොහොමද කියලා කටපාඩම් නොකර තේරුම් අරන් වැඩේ ගොඩ දාගන්නයි..





මෙන්න මෙහෙම තමයි අපි හදාගත්ත template එකෙන්, එහෙම නැත්නම් class එකකින් object එකක් හදාගන්නෙ.. මේකනම් තෙරෙන්නෙ නැතුව ඇති. ඒක නිසා අපි බලමුකෝ මෙතන මොකක්ද වෙන්නෙ කියලා.. ඊට කලින් අපි මේකෙ මේ අකුරු වගයක් දාලා තියෙන කොටස් ටික මොනවද කියලා අඳුරගෙන ඉමුකෝ..

  • A - ‍මෙතන මේ Car කියලා කියන්නෙ අපි හදාගත්ත class එකේ නමමයි.
  • B - මෙතන මේ ourCar කියලා තියෙන්නේ object එකට අපි දෙන නම. 
  • C - මේ කොටසෙ තමයි Object එකක් හැදෙන part එක තියෙන්නෙ.. 
  • D - මේ සමාන ලකුණෙන් වෙන්නෙ අපි හැමදාම දන්න දකුණු පැත්තෙ තියෙන එක වම් පැත්තට assign කරන්න කියන එකම තමයි..



හරි අපි දැන් කොටස් ටික අඳුරගත්ත නිසා මෙතන වෙන සිද්ධිය තේරුම් ගනිමු. 

ඊට කලින් පොඩ්ඩක් මේ පහළ තියෙන එක බලලම ඉන්නකෝ..




මෙතන වෙන දේ කට්ටියම පොඩ්ඩක් කියලා ඉන්නකෝ එහෙනම්.. මෙතනදි වෙන්නෙ මුලින්ම int කියන type එකේ x කියලා variable එකක් හදලා ඒකට පස්සෙ 5 කියන value එක දාපු එකනේ..

  • ඉතින් මේ වගේම තමයි උඩ අපේ Object එකක් හදන code එකෙත් = ලකුණට වම් පැත්තෙන් වෙන්නෙ Car කියන type එකෙන් ourCar කියලා variable එකක් හැදෙන එක..
  • ඊට පස්සෙ = ලකුණට දකුණු පැත්තේ වෙලා තියෙන්නෙ අළුතින් Car class එක use කරලා Object එකක් හැදෙන එක. මෙතනදි අමුතුවෙන් ඒක මතක තියාගන්න ඕන නෑ ඉතින් අළුතින් හදන නිසා new කියලා ලියලා ඊටපස්සෙ අපි Object එක හදන්නෙ Car type එකෙන් නිසා Car කියලා ලියලා () දාන්න විතරයි තියෙන්නෙ.. මේ වරහන දාන එක ගැන දැනට පොඩ්ඩඩක් මතක තියාගන්නකෝ.. ඉස්සරහට ඒකෙ තේරුමත් තේරෙයි කට්ටයටම..
  • ඉතින් දැන් මෙහෙම වම් පැත්තෙ ourCar කියන නමින් හදපු Car type variable එකට දකුණු පැත්තෙ අළුතින් හැදුනු Object එකේ address එක වැටෙන එක තමයි = ලකුණෙන් වෙන්නෙ..

ඔන්න එහෙනම් Object එකක් හදන හැටි අමුතුවෙන් මතක තියාගන්නෙ නැතුව හැමෝටම තේරුම් ගියා කියලා හිතලා තමයි අපි ඉස්සරහට යන්නෙ.. ඉතින් කාටහරි තේරුනේ නැත්නම් ආපහු පාරක් බලලා හරි තේරුම් ගන්න ඉතිරි ටික බලන්න කලින්..


Object Access


දැන් එහෙනම් අපි Class එකක් හදලා ඒකෙන් Object එකකුත් හදාගන්න දන්න නිසා බලමු කොහොමද මේ Object එක ඇතුලට අපේ වාහනේට අදාළ විස්තර ටික දාගන්නෙ කොහොමද කියලා..




ආ මේ තියෙන්නෙ එහෙම අපි හදාගත්ත ourCar Object එකට values දාන code එකක්නේ.. එහෙනම් අපි බලමු මේකේ මේ වැඩේ වෙන්නෙ කොහොමද කියලා..


  • දැන් නිකමට හිතලා බලන්න අපිට දැන් මොන car එකේද පාට black කියලා දාන්න ඕන? අපේ car එකේ නේද? එහෙනම් අපේ car එකට අදාළව අපි හදාගත්තු Object එක දැන් තියෙන්නෙ කාගෙ ළඟද? ourCar කියන Car type variable එක ළඟනේ..
  • එහෙනම් අපි මුලින්ම කරන්න ඕන value එක දාන්න කලින් ඒ ourCar කියන variable එක access කරන එකයි. හරි ඊළඟට මොකක්ද කරන්න ඕන? දැන් කරන්න ඕන ඒ Object එක ඇතුලෙ තියෙන colour කියන variable එකට අපේ මේ Black කියන value එක දාන එක නේද? 
  • දැන් මතක් කරලා බලන්න අපි java වලදි මොකක් හරි ඇතුලෙ කියලා කියන්නෙ කොහොමද? dot එකකින් නේ? එහෙනම් අපිට දැන් ourCar Object එක ඇතුලෙ තියෙන colour කියන variable access කරන්න වෙන්නෙ එහෙනම්, ourClass.colour කියලා නේද? එහෙනම් මේ දැන් අපි ඉන්නෙ ඒ variable එක ළඟ නිසා දැන් අපිට කරන්න තියෙන්නෙ සාමාන්‍ය විදියටම ඒ variable එකට value එක දාගන්න එක විතරයි.. 



තේරුනා නේද? එහෙනම් අනිත් Properties ටික add කරන එක තනියම කරගන්න පුළුවන් නේද??

ඉතින් මේ වගේම තමයි ඒ class එක ඇතුලේ තියෙන method එකකට call කරන්නෙත්.. මුලින්ම ourClass කියන variable එක ළඟට ගිහින් ඊට පස්සෙ ඒක ඇතුලට යන්න ඕන නිසා dot එකක් ගහලා අවශ්‍ය method එකට call කරන්න විතරයි තියෙන්නෙ.. ( ourClass.drive(); )

ආ දැන් කට්ටියට තේරුනානම් අපි මේ හදපු අපේ Car class එක use කරලා අල්ලපු ගෙදර car එකේ විස්තර දාගන්නත් program එකක් ලියන්න බලන්න..




දැන් අපිට අවශ්‍ය කරන අපේ system එකේ තියෙන ඕනම real world object එකකට අදාළව class එකක් හදාගෙන ඒකෙන් කැමති නම් වලින් Object එහෙමත් හදලා ඒවා ඇතුලට අපිට අවශ්‍ය කරන values දාගන්නෙ කොහොමද කියලා තේරෙනවා නේද? හිතන තරම්ම අමාරු නෑ ඇත්තටම මේ දේවල් හරියටම තේරුම් ගත්තොතින්නම්.. ඒත් මුලදි පොඩ්ඩක් පැටලෙනවා වගේ දැනෙයි. ඒක නිසා දෙවෙනි පාරකුත් බලන්න පුළුවන්නම් හොඳයි කියලා තමයි හිතෙන්නෙ.. එහෙනම් අපි අළුත් කොටසක් එක්ක ඉක්මනටම හමුවෙමුකෝ..

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 වල..

Tuesday, April 21, 2015

OOP Part 2 ( Standards )


Object Oriented Programming ( Basic )


අපි කලින් දවසේ OOP කියන්නෙ මොකක්ද, ඇයි OOP ඕන වුනේ වගේ දෙවල් කතා කරපු නිසා අද බලමු මේ OOP Theory වලට බහින්න කලින් අපිට java වලින් මොනවද දැනගෙන ඉන්න ඕන කියලා.. මොකද ඒ ටික හරියට තේරුම් ගත්තොත් අපිට පුළුවන් වෙයි ගොඩක් ඉක්මනට හැමදේම තේරුම් ගන්න.. එහෙනම් අපි කෙලින්ම වැඩේට බහිමු.. ඊට කලින් OOP ගැන හරියට idea එකක් නැති අය මෙතනින් ගිහින් ඒ ගැන පොඩ්ඩක් බලලම එන්නකෝ..




අපි programming කරන්න යද්දි ඇත්තම කතාව අපිට 100 % ක් මේ codings මතක තියාගෙන ඉන්න බෑනේ.. ඉතින් කාට හරි හිතෙන්න පුළුවන් එහෙම නැතුව අපි කොහොමද program එකක් ගහන්නෙ කියලා නේද? එහෙම හිතෙන අයට කියන්න තියෙන එකම දේ තමයි කවුරු හරි එහෙම පාඩම් කරන්න හිතන් ඉන්නවනම් කරලා බලන්න කොච්චරක් මතක තියාගන්න පුළුවන්ද කියලා.. මොකද code බර ගානක් තියෙනවා එහෙම මතක තියාගන්න ගියොතින්.. ඒක නිකම් බොරු වැඩක්.. ඊට වඩා හොඳයි ඔලුව free එකේ තියාගෙන අළුතින් දෙයක් කරන්න විදියක් හිතන එක..


දැන් කෙනෙක් බලනවා ඇති පාඩම් කරන්න එපා කියනවනම් කොහොමද මේක ඇත්තටම කරන්නෙ කියලා නේද? මෙහෙමයි අපි හැමදාම කරන වැඩ අපිට අමතක වෙනවද? නෑනේ.. ඒ වගේ තමයි අපි program 2, 3ක් ගහද්දි අවශ්‍ය basic ම ටික මතක හිටිනවා..  පාඩම් කරගන්න ඕන නෑ.. ඉතින් අපිට ඊට වඩා අවශ්‍ය වෙන දෙයක් තියේනම් අපිට ඒකට තමයි GOOGLE දෙයියා ඉන්නෙ.. ඔන්න දැන් කට්ටිය හිතනවා Copy Paste ගේමක් ගහන්න පුළුවන් කියලා.. බලන්නකො එහෙම පුළුවන්ද කියලා.. ඇත්තටම බෑ.. මොකද එ් code එකෙන් මොකක්ද වෙන්නෙ කියලා අපිට තේරුම් ගන්න පුළුවන් වෙන්න ඕන එහෙම copy කරලා ගන්න වුනත්.. ඉතින් ඒ කියන්නෙ අපිට වෙන කෙනෙක් ලියපු අපේ නොවෙන code එකක් වුනත් දැක්ක ගමන් අඳුර ගන්න පුළුවන් වෙන්න ඕන නේද??


කොහොමද වෙන කෙනෙක් ලියපු code එකක් වුනත් තේරුම් ගන්නෙ??


නිකමට හිතලා බලන්න අපිට code එකක් දිහා බැලුවම මේක class එකක්, මේක method එකක්, මේක variable එකක් මේකෙන් වෙන්නෙ මේකට call කරලා මේ ටික run වෙනවා වගේවත් අපිට තේරුම් ගන්න බැරිනම් අපි කොහොමද GOOGLE එකෙන් වත් වැඩක් ගන්නෙ.. මුලින්ම අපිට මෙතන හදාගන්න වෙනවා.. මේ දේවල් Syllabus එකක අපිට කියලා දෙන්නෙ නෑ.. ඒවා අපි තේරුම් ගන්න ඕන.. එහෙනම් අපි බලමු කොහොමද එහෙම තේරුම් ගන්නෙ කියලා..


අපි හැමදාම use කරන මේ System.out.println(); එකේ මොකක්ද කියලා තියෙන්නෙ කියලා කාටහරි කියන්න පුළුවන්ද?





පුළුවන් කට්ටිය ඇති.. එහෙම කියන්න බැරි කෙනෙක් ඉන්නවානම් අවුල් ගහන්න එපා ඒ කෙනාත් අන්තිමටම මේකෙ තේරුම අනිවාර්යෙන්ම කියනවාමයි.. 


හරි මෙහෙම හිතමුකො.. අපිට java වල තියෙන int, class, public වගේ Key words අඳුරගන්න පුළුවන්නෙ ඒක කවුරු ලිව්වත්.. එහෙම අඳුර ගන්න බැරි වෙනවා නම් බැරි වෙන්නෙ එහෙම පුද්ගලයාගෙ කැමැත්තට program එකේ ලියපු වචන විතරයි.. ඉතින් එහෙනම් මුලින්ම බලමු එහෙම අපිට කැමති විදියට Program එකක වචන ලියවෙන්නෙ මොන වගේ තැන් වලද කියලා..




මෙන්න මේ තැන් වලදි නේද අපිට ඕන විදියට අපි වචන දාන්නෙ?? එහෙනම් මේ වගේ තැන් වලට නම් දාද්දි හැමෝම එකම standard එකකට නම් දානවනම් අපි ඕන කෙනෙක්ට දැක්ක ගමන් මේ මොකක්ද කියලා කියන්න පුළුවන් නේද??

දැන් එහෙනම් බලමු අපි කොහොමද මේ වගේ නම් අඳුරගන්නෙ කියලා..





දැන් අඳුරගන්න පුළුවන් කෙනෙක් කියන්න බලන්න මේ person කියලා තුන් පාරක් ලියලා තියෙන්නෙ මොනවද මේ කියලා.. (මෙතන එකක් variable එකක්, අනික class එකක්, අනිත් එක method එකක්)

එහෙම දැක්ක ගමන් කියන්න පුළුවන්ද?? මෙහෙමයි ඒ තුන අඳුරගන්නෙ.

  • Class එකක් නම් වචනෙ පටන් ගන්නෙ CAPITAL අකුරකින්..
  • එහෙනම් SIMPLE අකුරකින් පටන් ගන්නෙ එක්කො method එකක්, නැත්නම් variable එකක්නේ..
  • method එකක් නම් අන්තිමට වරහනක් එනවා..
  • එහනෙම් SIMPLE අකුරකින් පටන් අරගෙන අන්තිමට වරහනක් තියෙනවානම් ඒක method එකක්, SIMPLE අකුරකින් පටන් අරගෙන වරහනක් නැත්නම් ඒක Variable එකක්..

එහෙනම් දැන් එන්න පුළුවන් ඕනම නමක් දැක්කම අඳුරගන්න පුළුවන් නේද? 

හා පුළුවන්නම් මේ ටික කියන්න බලන්න...




  • පළවෙනි එකෙයි දෙවෙනි එකෙයි මුල අකුරු Capital නිසා ඒ දෙක classes..
  • දැන් මෙතන String කියන්නෙ එතකොට class එකක්ද? ඔව්.. data type එකක් නෙවෙයිද? නෑ.. මතකනේ java වල data type 8යිනෙ තියෙන්නෙ.. මතක නැත්නම් ඒ ටික මෙතනින් බලලා එන්නකෝ..
  • out කියන එක simple වලින් පටන් අරගෙන වරහන් නැති නිසා ඒක variable එකක්..
  • print() කියන එකයි, exit() කියන එකයි simple වලින් පටන් අරගෙන වරහන් තියෙන නිසා ඒවා methods..

දැන් එහෙම තේරෙනවා නේද??? හී... :-D


තව එක දෙයක් දැනගත්තනම් අපිට ගොඩක් coding පේලි වලින් කියවෙන දේවල් තේරුම් ගන්න පුළුවන් වෙනවා.. 




ඒ තමයි මේක.. දැන් මේ මොකක්ද කියලා බලන්න එපා.. java වලදි මේ dot එක (dot operator)  කියන්නෙ ගොඩක් වැදගත් දෙයක්.. 

මේක use කරන්නෙ මොකක් හරි දෙයක් ඇතුලෙ කියලා අදහස් කරන්න.. මෙහෙම හිතන්නකො..
String.equals() කියලා තිබුනනම් අපිට වෙන වෙනම අඳුරගන්න පුළුවන්නෙ String කියන්නෙ class එකක් equals() කියන්නෙ method එකක් කියලා.. දැන් මේ අතර මැද dot එකෙන් කියවෙන්නෙ String කියන class එක ඇතුලෙ තියෙන equals() කියන method එකට තමයි මේ call කරන්නෙ කියලා.. ( දැක්ක නේද එක dot එකකින් කොච්චර තේරුමක් දුන්නද කියලා.. :-p )

හා දැන් මේ ඔක්කොම තේරුනා නම් කියන්න බලන්න මේකෙන් මොකක්ද කියවෙන්නෙ කියලා...




එහෙනම් මේකෙන් කියවෙන්නෙ System කියන class එක ඇතුලෙ out කියලා variable එකක් ඇති ඒ out කියන variable එකට අදාළව println() කියලා method එකක් ඇති ඒකට call කරන්න කියලා නේද??

දැනට මේ ගානට තේරෙනවා නම් හොඳටම ඇති.. මොකද අපි OOP ඉගෙන ගන්න කොට මේ ටික තෙරෙනවානම් හැම දේකම තේරුම තේරුම් යන්න පටන් ගන්නවා.. එතකොට ඉතින් programming කියන එකත් වතුර වගේ තමයි.. :-p එහෙනම් අදට මේ ඇති නේද? අළුත් කොටසකුත් එක්ක ඉක්මනටම හමුවෙමුකෝ..

Thursday, April 16, 2015

OOP Part 1 ( introduction )


Object Oriented Programming ( OOP )


ගොඩක් කාලෙකින් මේ පැත්තෙ එන්න බැරි වුන නිසා සමහර අයට හිතෙන්න ඇති මේ කුප්පියත් web එකේ තියෙන අනිත් sinhala කුප්පි වගේම නැවතිලා ගියා කියලා.. අපොයි නෑ.. කවදාවත්ම එහෙම වෙන්න දෙන්නෙත් නෑ.. වැඩ හැමදේම තියෙන විදියට balance කරන්න ඕන නිසා පොඩ්ඩක් පරක්කු වෙන්න පුළුවන්.. ඒත් කවදාවත් මේ වැඩේ නවතින්නනම් දෙන්නෙ නෑ.. මොකද මේ කුප්පියෙ ප්‍රධානම අරමුණ ලංකාවේ විශ්වවිද්‍යාල වල ඉන්න පිටින් course කරන්න තරම් වත්කමක් නැති ළමයින්ට අසරණ වෙන්න නොදී එයාලට අවශ්‍ය දැනුම තේරෙන සිංහලෙන් ලබා දෙන එක.. ඒක නිසා මේ වැඩේ කවදාහරි නවතිනවනම් නවතින්නෙ campus වල දැනට තියෙන computer science syllabus එකෙන් සැලකිය යුතු මට්ටමකට basic ටික හරි ලබා දුන්නට පස්සෙයි.. ඒක නිසා වැඩේ නැවතුනා කියලා හිතුන අයට ආපහු කියන්නම් මේක අතෑරලා යන්නෙ නෑ කවදාවත්...




OOP කියන්නෙ මොකක්ද?

ගොඩක් අය හිතාගෙන ඉන්නෙ මේ OOP කියන්නෙ java වගේ language එකක් කියලා.. ඒත් මේක language එකක් නෙවෙයි.. මුලින්ම අපි ඒක තේරුම් ගමු.. එහෙනම් මොකක්ද මේ Object Oriented Programming, OOP කියලා කියන්නේ?? ඇත්තටම මේක Concept එකක්.. Programming ලේසි කරගන්න හදාගත්තු concept එකක් තමයි මේ OOP කියලා කියන්නෙ.. ඉතින් මුලින්ම කියන්නම් මේක industry එකේ ගොඩක්ම use වෙන concept එකක් නිසා මුල ඉඳල හොඳටම තේරුම් ගත්තොතින් job එකකට යන කාලෙකටත් ඒක ගොඩක් වටීවි..


ඇයි අපිට OOP අවශ්‍ය වුනේ?

අපි දැන් කිව්වනේ මේ OOP කියන්නෙ concept එකක් කියලා.. එහෙනම් අපි බලමු මෙහෙම concept එකක් අපේ programming field එකට ආවෙ ඇයි කියලා.. නිකමට හිතලා බලන්නකො අපි දැනට කොහොමද program එකක් ගහන්නෙ කියලා... ඇත්තටම අපි දැනට කරන්නෙ එකම file එකක අවශ්‍ය හැමදේම ලියාගෙන ලියාගෙන යන එක නේද? දැනටනම් අපිට කිසිම ප්‍රශ්නයක් ඇවිත් නෑ.. ඒ අපි ලොකු ලොකු program ලියලා නැති නිසයි.. අපි මේ දේ හරියටම තේරුම් ගන්න පොඩි උදාහරණයක් ගමු..

අපි හිතමු අපිට තොග කඩේකට software එකක් ගහන්න දුන්නා කියලා.. දැන් එතකොට අපිට අපේ program එක ලියපු file එකේ coding පේලි කීයක් විතර එයිද?? නිකමට හිතන්න පේළි 80 000 ක් විතර කියලා.. (ඊට වැඩියි හොඳද.. )




දැන් මේ code පේළි 80 000 මැද එක error එකක් ආවොතින් අපිට ඒක හොයාගන්න කොච්චර වෙලාවක් යයිද? කොච්චර අමාරු වෙයිද?

මෙහෙම හිතන්නකෝ.. අපි ඔන්න කඩේ software එක කොහොම හරි කරලා හදලා ඉවරයි.. දැනට මේ software එකෙන් කඩේ තියෙන stock එක ගැන details තියාගන්නෙ නෑ කියලත් හිතන්නකෝ.. ටික දවසකින් මේ කඩේ අයිතිකාරයට හිතෙනවා ඒකත් system එකට දාගන්න ඕන කියලා.. දැන් මේ code පේළි 80 000 ක program එකක අවශ්‍ය තැන් වෙනස් කර කර අළුතින් කොටසක් එකතු කරන්න කොච්චර ගේමක් දෙන්න වෙයිද??

මෙන්න මේ නිසා OOP concept එක එන්න කලින් computer system හදන්න ගිය වියදමට වඩා දහස් ගුණයකින් යනවලු ඒවා නඩත්තු කරන්න.. ඉතින් ඒ වගේ system එකක් දුවන එක කොච්චර පාඩු වෙයිද කියලා තේරෙනවනේ.. මේ හේතුව නිසා තමයි නඩත්තුව පහසු කරවන අළුත් ක්‍රමයක් ඒ කාලෙ ඕන වෙලා තියෙන්නෙ.. අන්න ඒ අවශ්‍යතාවය උඩ තමයි ලෝකෙට OOP කියලා concept එකක් එන්නෙ..


කොහොමද OOP ලේසි වෙන්නෙ??

මෙන්න මෙහෙම සිද්ධියක් තමයි OOP වලදි වෙන්නෙ.. අර software එකම හදනවා.. හැබැයි එකම file එකක නෙවෙයි දැන් අපි හදන්නෙ.. මුලින්ම software එකේ කොටස් කොටස් වෙන් කරගන්නවා.. වෙන් කරගෙන එක කොටසක් එක file එකක ගානෙ කලින් software එකම කොටස් ගොඩකට හදලා අන්තිමට ඒක එකතු කරන එක තමයි මේකෙදි කරන්නෙ..

මෙතනදි තව දෙයක් අපි කරනවා.. ඒ තමයි අපිට තියෙන එක වගේ වැඩ කොටස් වල පොදු ආකෘතියක් මුලින් එක කොටසක් විදියට හදාගන්නවා.. ඊට පස්සෙ අපි අවශ්‍ය වෙලාවට ඒ කොටස අරගෙන modify කරලා අපිට අවශ්‍ය දේ හදාගන්නවා.. මේ ක්‍රමේ නිසා අපිට programming වල එකම වගේ code නැවත නැවත යෙදෙන එක නවත්තලා අවශ්‍ය දේවල් එකම තැනක තියලා නැවත නැවත භාවිතා කිරීමේ හැකියාව ලැබෙනවා.. 

ඉතින් දැන් කෙනෙක්ට හිතෙන්න පුළුවන් මෙහෙම කරා කියලා කොහොමද නඩත්තුව ලේසි වෙන්නෙ කියලා නේද? එහෙනම් නිකමට හිතලා බලන්නකො කලින් අමාරු වුනේ ඇයි කියලා.. කලින් අමාරු වුනේ එකම file එකක තියෙන නිසා තියෙන කොටසක් වෙනස් කරන්න හරි අළුතින් කොටසක් එකතු කරන්න හරි ගියාම ලොකූ code එකක් පුරාම ඔලුව මහන්සි කරන්න වුන නිසා නේද? දැන් කොහොමද තියෙන්නෙ? දැන් පොඩි පොඩි කොටස් විදියට තියෙන්නෙ.. ඉතින් දැන් කොටසක් වෙනස් කරන්න වුනොත් අදාළ කොටස විතරක් වෙනස් කරගන්න පුළුවන් ලේසියෙන්ම.. ඊටත් අමතරව අළුතින් කොටසක් එකතු කරන්න ඕන වුනොත් දැනට තියෙන ටිකම ආකෘතියක් විදියට අරගෙන ලේසියෙන්ම modify කරලා අළුත් වැඩ කෑලි අනිත් තැන් වලට බලපෑමක් නොවෙන්න එකතු කරන්න පුළුවන්.. දැන් ලේසියි කියලා හිතෙනවා නේ... :-p



තේරෙනවා මෙහෙම කිව්වා කියලා OOP ගැන ලොකු IDEA එකක් එන්නෙ නෑ කියලා.. ඒත් කලින් තිබුනට වඩා චූටිම චූටි IDEA එකක් හරි ආවානම් ඒ හොඳටම ඇති.. ඒක නිසා උඩ කියපු හැමදේම තේරුනේ නෑ කියලා නම් දුක් වෙන්න එපා.. පොඩි IDEA එකක් ගත්තනම් අපිට දැනට ඇති.. මොකද අපි OOP වල කොටසින් කොටස ඉස්සරහට හොඳටම ඉගෙන ගන්න නිසා දැන් ඔක්කොම තේරුම් ගන්න ඕනත් නෑ.. එහෙනම් අපි ඉක්මනටම OOP වල කොටස් එක්ක එකතු වෙමු.. ආ.... අපි මේ concept එක ගැන ඉස්සරහට ඉගෙන ගන්නෙ java language එක use කරලා.. ඉතින් දැන් හිතන්න එපා OOP කියන්නෙ java වල කොටසක් කියලා හොඳද.. අපිට ලේසි නිසා අපි java use කරලා OOP ඉගෙන ගන්නෙ.. එහෙනම් ඉක්මනටම හමුවෙමුකෝ..

මතුසම්බන්ධයි...


Contact Form

Name

Email *

Message *