The SIGMA

Constructor Method

Reading Time: 3 minutes

ආයුබෝවන්! ඔන්න මං අදත් ආවා කලින් පාඩමේ ඉතිරි කොටසත් සමගින්.object oriented programming සිව්වන පාඩමට ඔයාල ඔක්කොම සාදරයෙන් පිලිගන්නවා. කලින් පාඩමේදී අපි කතා කලා method overloading ගැන.පොඩි මතක් කිරීමක් කරමු method overloading ගැන, ඇත්තටම method overloading කියන්නෙ එකම නමින් method කිහිපයක් declare කිරීම ඒවගෙ parameter signature එක වෙනස් කරලා.parameter signature එක වෙනස් කරන නිසා compiler එකට පුලුවන් ඒ එක එක methods වෙන වෙනම එකිනෙකින් වෙන් කරල හදුන ගන්න.ඔන්න ඕකයි අපි method overloading කියල කිව්වෙ.කෙටියෙන්ම කියනවනම් මෙන්න මේකයි

හරි method overloading ගැන හොදටම මතක් උනා කියල හිතනවා.එහෙනම් අපි බලමු අද පඩම මොකක්ද කියල.අද අපි සලකා බලන්ට යන්නෙ method overriding ගැන.method overriding කියල කියන්නෙ කෙටියෙන්ම කව්වොත් method එකක body එක අපිට ඕනි විදියට වෙනස් කරල පාවිච්චි කරන එක.method overriding වැඩිපුරම පාවිච්චි කරන්නෙ object oriented concept එකේ තියෙන inheritance කියන කොටසේ.method overriding කියන එක ගැන හරි හැටි තේරුනේ නෑ නේද? කමක් නෑ අපි inheritance කියන කොටසේදී method overriding ගැන වැඩි දුරටත් කතා කරමු. ඇත්තටම method overloading එකේදී කරන්නේ එකම නමින් methods ගොඩක් හදන එකයි.නමුත් method overriding එකේදී කරන්නේ එක method එකක් අරගෙන එකේ body එක වෙනස් කරන එකයි.උදහරනයක් විඩියට කිව්වොත් මෙන්න මේ වගේ.

ඔන්න ඔකයි method overloading හා method overriding අතර තියෙන ප්‍රධානම වෙනස්කම.හරි method overriding ගැන පසුවට කතා කරන්ට ඉතුරු කරලා අපි දැන් බලමු constructor එක කියන්නෙ මොකද්ද කියල. object oriented concept වල තියෙන ඉතාම වැදගත් කොටසක් තමයි constructor එක කියන්නෙ. constructor එක කියන්නෙ මොකද්ද කියල කෙනෙක් ඇහුවොත් දෙන්න තියෙන සරලම උත්තරේ තමයි , constructor එක කියන්නෙ method එකක්.නමුත් ටිකක් විශේෂ method එකක්. constructor එකේ විශේෂත්ව කීපයක්ම තියනවා .constructor එකක් කියන්නෙ method එකක් කියලා කලින් මම කිව්වනෙ.ඒ method එකේ නැත්නම් constructor එකේ නම විදියට අපි ගන්නෙ class එකේ නමමයි.ඔන්න ඕක constructor එකක තියෙන ප්‍රධාන විශේෂත්වයක්.මෙන්න මේ හේතුව නිසා class එක පාවිච්චි කරල object එකක් හදන සෑම විටම constructor method එක call වෙනවා. උදාහරණයක් විදියට car class එක සලකමු.ඒකෙ method එකක් ලියනවා මම drive කියලා.class එකේ නමින්ම method එකකුත් හදනවා.වෙනත් විදියකින් කියනවනම් constructor එකක් හදනවා.අත්තටම කිව්වොත් constructor එක හදන්න දෙයක් නැහැ. අපි object එකක් හදන විට constructor එකක් auto හැදිල call වෙනව අපිට පේන්නෙ නතුවට.ඔන්න ඔක constructor එකක තියෙන ප්‍රධාන විශේෂත්වයක්.හරි එහෙනම් අපි car class එක හදමු.

class Car{

      Car(){
          System.out.println("this is my constructor ");
       }

       void drive(){
          System.out.println("I can drive fast");
       }

}

class MyCar{
       public static void main(String a[]){
    
              Car car1=new Car();
       }
}

අපි බලමු දැන් මෙහි out put එක මොකක්ද කියලා.

හරි දැන් ඔයාලට තේරෙනවා අති constructor එක කියන්නේ මොන වගේ එකක්ද කියල.අපි object එකක් හැදුවාම constructor එක auto call වෙනවා.හරි මම ඔයාලට කලින් කිව්වා constructor එක කියන්නේ method එකක් කියලා. method එකක් නම් return type එකක් තියෙන්න ඕනෙනෙ. නමුත් මගේ method එකේ නැත්නම් constructor එකේ return type එකක් නෑනේ. ඔන්න ඕක තමයි constructor එකක තියෙන අනෙක් විශේෂය. ඒ කියන්නේ constructor එකකට return type එකක් නැහැ. ඒ කියන්නේ කිසිමදෙයක් return කරලා එලියට ගන්න බැහැ .කෙටියෙන්ම කිව්වොත් constructor එකක් කියන්නෙ return type එකක් නැති , object එකක් හදන වෙලවෙ පමනක් call වෙන , class එකේ නමින්ම තියන method එකක්.අනික් methods වගෙම constructor එකත් overload කරන්න පුලුවන්.එ ගැන අපි මීලග පඩමේදි කතා කරමු.අදට පඩම අවසන් . පඩම් අංක පහෙන් හමුවෙමු. ස්තුතියි!