අපි දැන් බලමු මොකක්ද මේ Class එකක් කියන්නේ , මොකක්ද මේ Object එකක් කියන්නේ කියලා.
ඔයාලට දැන් class ආණ්ඩ object ගැන idea එකක් තියෙනවා කියලා මන් හිතනවා. එනිසා මම Box class එක java වලින් implement කරන ගමන් ඔයාලට කොහොමද object එකක් අපි java program එකක හදන්නේ කියලා කියන්නම්.
Box.java
ඔය විදිහට Box.java class එක අපි ලියනවා. දැන් අපිට Box class එකේ object එකක් BoxTest කියන class එකේ හදා ගන්න ඕනේ . අපි බලමු කොහොමද Box class එකේ object එකක් හදන්නෙ කියලා.
BoxTest.java
මම දැන් ජාවා පරිගණක භාෂාවේ ඇති සුවිශේෂ වාසියකුත් ඔයාලට මේ ගමන්ම කියනම් . අපි හදන objects සඳහා වෙන් කරන memory ප්රමාණයන් නැවත නිදහස් කරන්න අපිට වෙහෙස වීමට අවශ්ය වෙන්නේ නැ . මොකද එක කරන්න JVM එක මගින් ක්රියාත්මක වන සුවිශේෂ thread එකක් වන "Garbage Collector" බැඳී සිටිනවා. කෙටියෙන් කියනව නම් java කියන්නේ automatic garbage collect කරන programming language එකක් .
ඔන්න දැන් මම අපි හදපු box class එකේ තියෙන attributes and methods වලට values pass කරලා පෙන්වන්න හදන්නේ අපි හදපු object එක use කරලා.
Box.java
output
මම හිතනවා ඔයාලට class and object ගෙන පෙහෙදිලි අවබෝදයක් ලැබුන කියලා. අපි එහෙනම් ඊළඟ පාඩමෙන් හමුවෙමු..........
Class
කෙටියෙන්ම කිව්වොත් class එකක් කියන්නේ object එකක සැලැස්මක්, අච්චුවක් වගේ දෙයක් ඒ කියන්නෙ blue print එකක්. object එකක ලක්ෂණ, ක්රියාකාරීත්වය යනාදිය සියල්ල තීරණය කරණු ලබන්නේ class එක විසින්. අපි objects සැදීම සඳහා classes භාවිත කරනවා කියන එක ගෙන idea එකක් මගේ යාළුවන්ට එන්න ඇති. අපිට එක class එකකින් objects ඕනේ තරමක් හදන්න පුළුවන්. class එකක් සැලසුම් කිරීමේදී එහි object එකට අදාල පහත අංග ඇතුල් කෙරෙනවා. ඔයාලට පැහැදිලි වෙන්න මම class diagram එකකින් පෙන්වන්නම්.- Attributes/properties/state
- Constructors
- Methods/Functions
උදාහරණයක් විදිහට මම Box කියන class එක ගන්නම්.
මේ Box කියන class එකේ තියෙන attributes තමයි length, width & height කියන්නේ. Box() කියන්නෙ default constructor එක, setValues , setLength, setWidth, setHeight, getVolume, getArea, printVolume, printArea කියන්නෙ Box class එකේ තියෙන methods එහෙම නැත්නම් functions කියන්නේ.
මම හිතනවා ඔයාලට දන් class එකක් කියන්නේ මොකක්දේ කියන එක ගෙන පැහැදිලි වුනා කියලා.
Object
අපි දැන් බලමු object එකක් කියන්නෙ මොකක්ද කියලා. කෙටියෙන්ම කියනවා නම් Class එකකින් අපි හදන instance එකක් අපි Object එකක් කියලා හඳුන්වනවා. එහෙමත් නැත්නම් data & method වල එකතුවක් ලෙසත් හඳුන්වන්න පුළුවන්.සැබෑ ලෝකයේ වස්තුන් java තුල නිරුපනය කරන්නේ objects භාවිතයෙන් . classes තමයි object එකේ design එක ගෙන තීරණය කරන්නෙ.ඔයාලට දැන් class ආණ්ඩ object ගැන idea එකක් තියෙනවා කියලා මන් හිතනවා. එනිසා මම Box class එක java වලින් implement කරන ගමන් ඔයාලට කොහොමද object එකක් අපි java program එකක හදන්නේ කියලා කියන්නම්.
Box.java
ඔය විදිහට Box.java class එක අපි ලියනවා. දැන් අපිට Box class එකේ object එකක් BoxTest කියන class එකේ හදා ගන්න ඕනේ . අපි බලමු කොහොමද Box class එකේ object එකක් හදන්නෙ කියලා.
BoxTest.java
class එකක object එකක් සදා ගැනීම සඳහා අපි java වලදි new කියන keyword එක use කරනවා.
java වලින් object එකක් හදන Syntax කොහොමද කියලා අපි බලමු.
className objectReferenceName= new constructor ;
උදාහරණ:
Box b1=new Box();
Box b2=new Box();
දැන් ඔයාලට ප්රශ්නයක් ඇති මොකක්දේ මේ object reference එක කියන්නේ කියලා. අපි ඒ ගෙන idea එකක් ගන්න හදපු Box class එකේ object reference එක print කරලා බලමු ඇත්තටම මොකක්දේ මේ කියලා.
BoxTest.java
ඔයාලට පේනවා ඇති BoxTest class එකේ object 2ක් හදලා තියෙනවා b1,b2 කියලා. ඒ වගේම ඒ reference එක print කලහම අපිට ලැබිල තියෙනවා Box@15db9742, Box@6d06d69c කියලා output එකක්. ඇත්තටම මොකක්දේ මේ ?
අපි new කියන keyword එක use කරලා Box class එකේ object එකක් හැදුවනේ b1 කියලා.new keyword එක මගින් සිදුවන්නේ දී ඇති class type එකෙන් object එකක් RAM එක තුල සාදා එයට reference එකක් (යොමුවක්) අදාල variable එක වෙත යැවීමයි. අපේ උදාහරණය අනුව ගතහොත්, Box object එකක් RAM එක තුල සාදා එයට reference එකක් b1 නමැති variable එකට assign වෙනවා . b1 java variable එක තුල ඇත්තේ Box object එක RAM එක තුල පවතින ස්ථානයට අදාල memory address එක. අන්න ඒ memory address එක තමයි ඉස්සෙල්ල ඔඋට්පුට් එක විදිහට print උනේ.
Memory location address එක එන්නේ className@XXXXXXXX කියලා.
මම දැන් ජාවා පරිගණක භාෂාවේ ඇති සුවිශේෂ වාසියකුත් ඔයාලට මේ ගමන්ම කියනම් . අපි හදන objects සඳහා වෙන් කරන memory ප්රමාණයන් නැවත නිදහස් කරන්න අපිට වෙහෙස වීමට අවශ්ය වෙන්නේ නැ . මොකද එක කරන්න JVM එක මගින් ක්රියාත්මක වන සුවිශේෂ thread එකක් වන "Garbage Collector" බැඳී සිටිනවා. කෙටියෙන් කියනව නම් java කියන්නේ automatic garbage collect කරන programming language එකක් .
ඔන්න දැන් මම අපි හදපු box class එකේ තියෙන attributes and methods වලට values pass කරලා පෙන්වන්න හදන්නේ අපි හදපු object එක use කරලා.
Box.java
output
මම හිතනවා ඔයාලට class and object ගෙන පෙහෙදිලි අවබෝදයක් ලැබුන කියලා. අපි එහෙනම් ඊළඟ පාඩමෙන් හමුවෙමු..........
Explained very well....easy to understand...Keep up the good work...
ReplyDeleteGreat work..
ReplyDelete