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 එකේ ඒ ගැන දාලා ඇති පොඩ්ඩක් බලන්න.)
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 දාගන්නෙ කොහොමද කියලා තේරෙනවා නේද? හිතන තරම්ම අමාරු නෑ ඇත්තටම මේ දේවල් හරියටම තේරුම් ගත්තොතින්නම්.. ඒත් මුලදි පොඩ්ඩක් පැටලෙනවා වගේ දැනෙයි. ඒක නිසා දෙවෙනි පාරකුත් බලන්න පුළුවන්නම් හොඳයි කියලා තමයි හිතෙන්නෙ.. එහෙනම් අපි අළුත් කොටසක් එක්ක ඉක්මනටම හමුවෙමුකෝ..