Pages

Thursday, November 19, 2015

OOP Sinhala Tutorial Part 4 ( Classes & Objects with Codings )


OOP Sinhala Tutorial Part 4 (Classes & Objects with Coding)




අන්තිමටම OOP වල තියෙන classes & objects කියන්නෙ මොකක්ද කියලා basic idea එකක් ගත්ත නිසා අද අපි බලමු කොහොමද මේ classes සහ objects programming වලදි code කරන්නෙ කියලා.. හැබැයි සිංහලෙන් කියලා දෙන මේ video එක බැලුවම දැනෙන දේ කියන්න දෙපාරක් හිතන්න එපා..




මේක බැලුවට පස්සෙ class එකක් coding කරලා අපේ system එකට අදාළව object හදන හැටි ගැන පොඩි හරි idea එකක් ආවා කියලා හිතනවා.. කොහොම වුනත් ඔයාලට ප්‍රශ්නයක් හරි මොනවමහරි අදහසක් තියෙනවානම් comment එකක් දාන්න දෙපාරක් හිතන්න එපා.. ඉක්මනටම OOP වල තියෙන තවත් වැදගත් දෙයක් වෙන Constructor කියන්නෙ මොකක්ද සහ ඇයි ඒක වැදගත් වෙන්නෙ කියන එකත් එක්ක හමුවෙමු..

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

Monday, November 16, 2015

OOP Sinhala Tutorial Part 3 ( Classes & Objects )


OOP Sinhala Tutorial Part 3 ( Classes & Objects )




අපි අන්තිමටම Java Standards එක්ක ඕනම කෙනෙක් ලියපු code එකක් තේරුම් ගන්නෙ කොහොමද කියලා බලපු නිසා අද මේ සූදානම OOP වල ප්‍රධානම concept එකක් වෙච්ච Classes and Objects කියන්නෙ මොකක්ද සහ ඇයි එහෙම දෙයක් අවශ්‍ය වුනේ කියලා බලන්නයි.. එහෙනම් සිංහලෙන් කියලා දෙන මේ video එක බලලා තේරෙනවද නැද්ද කියන එකත් අපිට කියන්න අමතක කරන්න එපා..




මේක බැලුවට පස්සෙ class එකක් කියන්නෙ මොකක්ද කියලා පොඩි හරි idea එකක් ආවා කියලා හිතනවා.. කොහොම වුනත් ඔයාලට ප්‍රශ්නයක් හරි මොනවමහරි අදහසක් තියෙනවානම් comment එකක් දාන්න දෙපාරක් හිතන්න එපා.. ඉක්මනටම Classes & Objects codings වලදි use කරන විදියත් එක්ක හමුවෙමු..

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

Tuesday, September 22, 2015

OOP Sinhala Tutorial - Part 2 ( Standards )


OOP Sinhala Tutorial - Part 2 ( Standards )




ඔන්න අපි කලින් කියපු විදියටම OOP කියන්නෙ මොකක්ද, ඇයි OOP අවශ්‍ය වුනේ කියන එක video tutorial එකක් විදියට දීපු නිසා අද අපි බලන්න යන්නෙ OOP Concepts ඉගෙන ගන්න කලින් අපි ඉගෙන ගත්තු Java codings කොහොමද දැක්ක ගමන් තේරුම් ගන්නෙ කියලා.. කාටහරි OOP introduction එක බලන්න බැරි වුනානම් මෙතනින් ගිහින් බලලාම එන්නකෝ..

මෙන්න එහෙනම් OOP වල දෙවෙනි කොටස..




දැන් ඕනම කෙනෙක් ලියපු java code එකක් දැක්කම පොඩි idea එකක් ගන්න පුළුවන් ගානට හරි තේරුනා කියලා හිතනවා.. එහෙනම් අපි ඊළඟ කොටසින් OOP වල ප්‍රධානම concept එකක් වෙන Classes සහ Objects ගැන බලමු.. 

එතකන් සුභ දවසක්...

Sunday, September 20, 2015

OOP Sinhala Tutorial - Part 1 ( introduction )


Object Oriented Programming ( OOP )




හැමදාම මේක නවත්තන්නෙ නෑ කියලා ලොකු talk දුන්නට ගොඩක් කාලෙකින් අළුත් post එකක් ලියන්න බැරි වුන නිසා මේ පැත්තටවත් ආවෙ නෑ.. ඒත් මේ වැඩේ නවතින්න දෙන්න බැරි නිසා අපි අළුත් ක්‍රමයක් ගැන බැලුවා.. ඇත්තටම ලියන්න ගොඩක් වෙලාව යන නිසයි ලියන්න වුනේ නැත්තෙ.. ඒක නිසා අපි තීරණය කරා videos හදලා upload කරන්න.. ඒක ගැන කට්ටියට එක එක විදියෙ අදහස් ඇති.. කියවන්න කම්මැලි අයට ලේසියි වගේම කියවන්න ආස අයට කම්මැලි වෙයි.. ඒත් වැඩි වෙලාවක් යන්නෙ නැති නිසා ඒ වැඩේ අපිටත් ලේසියි.. හැබැයි අපේ lankadroid.blogspot.com කුප්පිය හරහා තමයි අපි videos දෙන්න හිතන් ඉන්නෙ.. මොකද, අපිට අවශ්‍යම වෙන ඕනම programming language එකකට අවශ්‍ය වෙන programming වල හිතන විදිය තියෙන basic ම ටිකයි Java වල basic ටිකයි තියෙන්නෙ මේකෙ නිසා අපි මේක හරහා තමයි videos ටිකත් දෙන්නෙ.. එහෙනම් අපි මේ OOP වල ඉඳන් video tutorial වලින්ම යමු.. දැන් බලමු මොකද්ද මේ OOP කියන්නෙ කියලා සහ ඇයි අපිට මේ වගේ දෙයක් අවශ්‍ය වුනේ කියන එක..




අළුත් වැඩේ ගැන ඔබේ අදහස අපිට ලබා දෙන්න දෙපාරක් හිතන්න එපා.. ඒ වගේම මේ video එක තේරෙනවනම් like එකක් දාන්නත් අමතක කරන්න එපා.. එහෙනම් අපි ඊළඟට OOP Concepts ඉගෙන ගන්න කලින් ඕනම code එකක් තේරුම් ගන්න ඕන වෙන Standards ගැන බලමු.. 

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

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 එහෙනම් අදට මේ ඇති නේද? අළුත් කොටසකුත් එක්ක ඉක්මනටම හමුවෙමුකෝ..

Contact Form

Name

Email *

Message *