ඔබ්ජෙක්ට් ඔරියෙන්ටඩ් ගැන උදව්වක්

Mr.Tom

Well-known member
  • Mar 1, 2013
    18,349
    3,725
    113
    EK Automobile
    ඔබ්ජෙක්ට් ඔරියෙන්ටඩ් ගැන උදව්වක්

    හොදට Programing ගැන දන්න කෙනෙක් මට Object Oriented කියන සංකල්පය ගැන සිංහලෙන් පැහැදිලි කරන්න පුළුවන්ද. ලොකු උදව්වක්. ඉංග්‍රීසියෙන් මේ ගැන විස්තර හොයාගන්න තිබුනත් ඒවගේ තියෙන සමහර වචන තේරුම් ගන්න අපහසුයි.
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,175
    4,085
    113
    invoke db "Injected Memory"
    OOP කියන්නෙ පට්ට සීන් එකක් බං, ඔලුවට දා ගන්න එක නම් ටිකක් අමාරි කේස් එකක්, දාගත්තත් වෙලාවකට අවුල් වෙනවා,

    ලේසියෙන්ම කිව්වොත් , Banking System එකකදි, OOP වලදි Customer කෙනෙක්ව ප්‍රොග්‍රම් එකේම හදා ගන්නවා, ඒ කියන්නෙ ඇත්තටම customer කෙනෙක් ඉන්නවා Code එකේ, ඉට පස්සෙ එයගෙ properties (නම, අකවුන්ට් නම්බ එක) ඒ Customer ට දෙනවා, එත් එක්කම එයාට කරන්න පුලුවන් දෙවල් ඒ ඔබ්ජෙක්ට් එකට දෙනවා,
    අනෙ මන්දා බං, මට පැහැදිලි කරන්න තෙරෙන්නෙ නැ., .. :frown::frown::frown::baffled::baffled:
     
    Last edited:
    • Like
    Reactions: Mr.Tom

    Mr.Tom

    Well-known member
  • Mar 1, 2013
    18,349
    3,725
    113
    EK Automobile
    OOP කියන්නෙ පට්ට සීන් එකක් බං, ඔලුවට දා ගන්න එක නම් ටිකක් අමාරි කේස් එකක්, දාගත්තත් වෙලාවකට අවුල් වෙනවා,

    ලේසියෙන්ම කිව්වොත් , Banking System එකකදි, OOP වලදි Customer කෙනෙක්ව ප්‍රොග්‍රම් එකේම හදා ගන්නවා, ඒ කියන්නෙ ඇත්තටම customer කෙනෙක් ඉන්නවා Code එකේ, ඉට පස්සෙ එයගෙ properties (නම, අකවුන්ට් නම්බ එක) ඒ Customer ට දෙනවා, එත් එක්කම එයාට කරන්න පුලුවන් දෙවල් ඒ ඔබ්ජෙක්ට් එකට දෙනවා,
    අනෙ මන්දා බං, මට පැහැදිලි කරන්න තෙරෙන්නෙ නැ., .. :frown::frown::frown::baffled::baffled:

    පැහැදිලි කිරීමට බොහෝම ස්තූතී..
     

    kavindagk

    Well-known member
  • Dec 18, 2008
    989
    1,002
    93
    Colombo
    මචං මම දාන්න විදියට කියලා දෙන්නම් පොඩි example එකකින්...

    පොඩ්ඩකට හිතපන් CAR ගහන company එකක් ගැන AUDI :baffled: උන් බන් කරන්නේ එකම model එකේ car එක එක පාටින් ලක්ෂ ගානක් ගහන එකෙනේ :yes::yes:
    නමුත් ඒ එක car එකක් ගහන්න කලින් එකේ සැකිල්ලක් ගහන්න එපැයි ..ඊට පස්සෙනේ බන් එක එක පාට දාලා කැලි දලා ලස්සන කරන්නේ...


    OOP කියන්නේ එහෙම හදන පොදු සැකිල්ලට...

    programming වලට එක set කලොත් මෙහෙමයි එක වෙන්නේ..මම java වලින් දාන්නම්

    public class CARs{

    public car_body_method(){}
    public car_color_method(){}
    public car_wheel_method(){}
    public car_lights_method(){}

    }

    වගේ CAR එකේ සැකිල්ල හදන පස්සේ තමයි අපිට ඔනි විදියට එක modify කරන්නේ :yes::yes:

    Public class Make_Cars{

    public static void main(String [] args){

    -----> CARs car1 = new CARs(); <- මේක තාම object එක

    car1.color("red");
    car1.light("fog");
    etc...

    }
    }

    object මුලික් කරගෙන කරන් එක තමයි object oriented කියලා කියන්නේ....:yes::yes:
     
    • Like
    Reactions: Mr.Tom

    TechnWeb

    Well-known member
  • Dec 28, 2011
    7,457
    5,567
    113
    මචං මම දාන්න විදියට කියලා දෙන්නම් පොඩි example එකකින්...

    පොඩ්ඩකට හිතපන් CAR ගහන company එකක් ගැන AUDI :baffled: උන් බන් කරන්නේ එකම model එකේ car එක එක පාටින් ලක්ෂ ගානක් ගහන එකෙනේ :yes::yes:
    නමුත් ඒ එක car එකක් ගහන්න කලින් එකේ සැකිල්ලක් ගහන්න එපැයි ..ඊට පස්සෙනේ බන් එක එක පාට දාලා කැලි දලා ලස්සන කරන්නේ...


    OOP කියන්නේ එහෙම හදන පොදු සැකිල්ලට...

    programming වලට එක set කලොත් මෙහෙමයි එක වෙන්නේ..මම java වලින් දාන්නම්

    public class CARs{

    public car_body_method(){}
    public car_color_method(){}
    public car_wheel_method(){}
    public car_lights_method(){}

    }

    වගේ CAR එකේ සැකිල්ල හදන පස්සේ තමයි අපිට ඔනි විදියට එක modify කරන්නේ :yes::yes:

    Public class Make_Cars{

    public static void main(String [] args){

    -----> CARs car1 = new CARs(); <- මේක තාම object එක

    car1.color("red");
    car1.light("fog");
    etc...

    }
    }

    object මුලික් කරගෙන කරන් එක තමයි object oriented කියලා කියන්නේ....:yes::yes:

    thanks machan.
     

    Mr.Tom

    Well-known member
  • Mar 1, 2013
    18,349
    3,725
    113
    EK Automobile
    මචං මම දාන්න විදියට කියලා දෙන්නම් පොඩි example එකකින්...

    පොඩ්ඩකට හිතපන් CAR ගහන company එකක් ගැන AUDI :baffled: උන් බන් කරන්නේ එකම model එකේ car එක එක පාටින් ලක්ෂ ගානක් ගහන එකෙනේ :yes::yes:
    නමුත් ඒ එක car එකක් ගහන්න කලින් එකේ සැකිල්ලක් ගහන්න එපැයි ..ඊට පස්සෙනේ බන් එක එක පාට දාලා කැලි දලා ලස්සන කරන්නේ...


    OOP කියන්නේ එහෙම හදන පොදු සැකිල්ලට...

    programming වලට එක set කලොත් මෙහෙමයි එක වෙන්නේ..මම java වලින් දාන්නම්

    public class CARs{

    public car_body_method(){}
    public car_color_method(){}
    public car_wheel_method(){}
    public car_lights_method(){}

    }

    වගේ CAR එකේ සැකිල්ල හදන පස්සේ තමයි අපිට ඔනි විදියට එක modify කරන්නේ :yes::yes:

    Public class Make_Cars{

    public static void main(String [] args){

    -----> CARs car1 = new CARs(); <- මේක තාම object එක

    car1.color("red");
    car1.light("fog");
    etc...

    }
    }

    object මුලික් කරගෙන කරන් එක තමයි object oriented කියලා කියන්නේ....:yes::yes:

    සෑහෙන්න වටිනවා Bro බොහෝම ස්තූතී
     

    Shadow.Walker

    Well-known member
  • Jan 15, 2013
    3,757
    717
    113
    ██████████████
    අපේ වට පිටවේ ඕන දෙයක් (මොකක් හරි object එකක්) ගත්තොත් ඒකෙ ගති ලක්ෂණ (​​attributes/properties) තියෙනවා, ඒ එක්කම ඒකෙන් කරන්න පුළුවන් දේවල් (​​behaviors/ operations) තියෙන්න පුළුවන්.

    උදාහරණයක් විදිහට අපි ගමු Mr.Tom කියන කියන පුද්ගලයා. එයට නමක්, වයසක්, ඉන්න ලිපිනයක්, උසක්, බරක් වගේ ගොඩක් ගති ලක්ෂණ තියෙනවා. එහෙම නැත්තම් ​attributes/properties තියෙනවා.

    ඒ වගේම එයාට කන්න, බොන්න , කතා කරන්න , දුවන්න වගේ කරන්න පුළුවන් දේවල් ගොඩක් තියෙනවා. එහෙම නැත්තම්
    ​behaviors / operations තියෙනවා. එතකොට මේ ​attributes සහ behaviors කියන ඔක්කොම එකතු වුනාම තමයි Mr.Tom කියන කෙනා සම්පුර්ණ වෙන්නේ.

    උදාහරණයක් විදිහට පෑනක් ගමු. එකට වර්ගයක්, පාටක්, උසක් වගේ ​attributes තියෙනවා. ඒ වගේම එකෙන් ලියන්න, අඳින්න වගේ ​​behaviors තියෙනවා.

    ඔය වගේ අපි ගන්න ඕන දෙයක් (objects) වලට ​attributes සහ ​​behaviors තියෙනවා.

    එතකොට object oriented programming කියන්නේ අර උඩින් කිව්වා වගේ හැම දෙයක්ම objects විදිහට හිතල ඒවායේ ගති ලක්ෂණ ​(attributes) සහ කරන්න පුළුවන් දේවල් (​
    ​​​behaviors) ගැන හිතල ඒවා අනුව program නිර්මාණය කරන එකට.


    ​object oriented programming වල හැමතැනම කතා වෙන්නේ objects, එහෙම නැත්තම් instance කියලත් කියනවා. kavindagk සහෝ දාපු කාර් උදාහරණය ගත්තොත්, හිතන්න අපිට කාර් හදන program එකක් ලියන්න ඕන කියල. එතකොට මුලින්ම බලනවා අපි හදන්න යන දේ. කාර් එක. ඒක තමයි අපේ object එක. එට පස්සේ බලනවා කර එකට තියෙන attributes මොනාද ? කාර් වර්ගය , පාට, රෝද , ඔය වගේ දේවල්. ඊළඟට ​behaviors, පදවන්න පුළුවන්, ආපස්සට ගන්න පුළුවන්, හරවන්න ඔය වගේ දේවල්.

    ඊට පස්සේ අපි කරන්නේ ඔය අඳුන ගත්තු දේවල් දාල blue print එකක් හදනවා. එකට තමයි "class" එකක් කියන්නේ (
    class කියන එක හැම වෙලාවේම blue print එකක් විදිහට පාවිච්චි වෙන්නේ නෑ). එක හරියට නිකන් ගඩොල් අච්චු ගහන "අච්චුවක්" වගේ. එක අච්චුවෙන් අපිට ඕන තරම් ගඩොල් ගහ ගන්න පුළුවන්. (උදාහරණයක් විතරයි). ඒ කියන්නේ අපිට ඒ car class එක පාවිච්චි කරලා එක එක විදිහේ car objects හදන්න පුළුවන්. වැඩේ ලේසි දැන්.


    public class Car {

    // Attributes. must be private
    public String type;
    public String color;
    public Calendar manufactureDate;


    // Behaviors
    public void drive(){
    System.out.println("Driving...");
    }

    public void reverse(){
    System.out.println("Reversing...");
    }


    public void printCarDetails(){
    System.out.println(color +" "+ type +" car manufactured in " + manufactureDate.getTime());
    }

    }

    -----------------------------------------------------

    public class MainClaz {
    public static void main(String[] args) {
    // අපේ class එක පාවිච්චි කරලා audi කාර් instance එකක් හදනවා
    Car audiCar = new Car();

    // attributes සෙට් කලා
    audiCar.type = "Audi";
    audiCar.color = "Black";
    audiCar.manufactureDate = Calendar.getInstance();

    // දැන් හදපු කාර් එකෙන් වැඩ ගන්නවා
    audiCar.drive();
    audiCar.printCarDetails();

    // අපේ class එක පාවිච්චි කරලා bmw කාර් instance එකක් හදනවා
    Car bmwCar = new Car();

    // attributes සෙට් කලා
    bmwCar.type = "BMW";
    bmwCar.color = "White";
    bmwCar.manufactureDate = Calendar.getInstance();

    // දැන් හදපු කාර් එකෙන් වැඩ ගන්නවා
    bmwCar.drive();
    bmwCar.printCarDetails();

    }
    }


    මම මේ අලුත් කෙනෙක්ට තේරෙන්න සරලම විදිහට කිව්වේ. object oriented concept ටික වෙනම දැනගන්න ඕන.
     
    Last edited:
    • Like
    Reactions: kavindagk

    kavindagk

    Well-known member
  • Dec 18, 2008
    989
    1,002
    93
    Colombo
    අපේ වට පිටවේ ඕන දෙයක් (මොකක් හරි object එකක්) ගත්තොත් ඒකෙ ගති ලක්ෂණ (​​attributes/properties) තියෙනවා, ඒ එක්කම ඒකෙන් කරන්න පුළුවන් දේවල් (​​behaviors/ operations) තියෙන්න පුළුවන්.

    උදාහරණයක් විදිහට අපි ගමු Mr.Tom කියන කියන පුද්ගලයා. එයට නමක්, වයසක්, ඉන්න ලිපිනයක්, උසක්, බරක් වගේ ගොඩක් ගති ලක්ෂණ තියෙනවා. එහෙම නැත්තම් ​attributes/properties තියෙනවා.

    ඒ වගේම එයාට කන්න, බොන්න , කතා කරන්න , දුවන්න වගේ කරන්න පුළුවන් දේවල් ගොඩක් තියෙනවා. එහෙම නැත්තම්
    ​behaviors / operations තියෙනවා. එතකොට මේ ​attributes සහ behaviors කියන ඔක්කොම එකතු වුනාම තමයි Mr.Tom කියන කෙනා සම්පුර්ණ වෙන්නේ.

    උදාහරණයක් විදිහට පෑනක් ගමු. එකට වර්ගයක්, පාටක්, උසක් වගේ ​attributes තියෙනවා. ඒ වගේම එකෙන් ලියන්න, අඳින්න වගේ ​​behaviors තියෙනවා.

    ඔය වගේ අපි ගන්න ඕන දෙයක් (objects) වලට ​attributes සහ ​​behaviors තියෙනවා.

    එතකොට object oriented programming කියන්නේ අර උඩින් කිව්වා වගේ හැම දෙයක්ම objects විදිහට හිතල ඒවායේ ගති ලක්ෂණ ​(attributes) සහ කරන්න පුළුවන් දේවල් (​
    ​​​behaviors) ගැන හිතල ඒවා අනුව program නිර්මාණය කරන එකට.


    ​object oriented programming වල හැමතැනම කතා වෙන්නේ objects, එහෙම නැත්තම් instance කියලත් කියනවා. kavindagk සහෝ දාපු කාර් උදාහරණය ගත්තොත්, හිතන්න අපිට කාර් හදන program එකක් ලියන්න ඕන කියල. එතකොට මුලින්ම බලනවා අපි හදන්න යන දේ. කාර් එක. ඒක තමයි අපේ object එක. එට පස්සේ බලනවා කර එකට තියෙන attributes මොනාද ? කාර් වර්ගය , පාට, රෝද , ඔය වගේ දේවල්. ඊළඟට ​behaviors, පදවන්න පුළුවන්, ආපස්සට ගන්න පුළුවන්, හරවන්න ඔය වගේ දේවල්.

    ඊට පස්සේ අපි කරන්නේ ඔය අඳුන ගත්තු දේවල් දාල blue print එකක් හදනවා. එකට තමයි "class" එකක් කියන්නේ (
    class කියන එක හැම වෙලාවේම blue print එකක් විදිහට පාවිච්චි වෙන්නේ නෑ). එක හරියට නිකන් ගඩොල් අච්චු ගහන "අච්චුවක්" වගේ. එක අච්චුවෙන් අපිට ඕන තරම් ගඩොල් ගහ ගන්න පුළුවන්. (උදාහරණයක් විතරයි). ඒ කියන්නේ අපිට ඒ car class එක පාවිච්චි කරලා එක එක විදිහේ car objects හදන්න පුළුවන්. වැඩේ ලේසි දැන්.


    public class Car {

    // Attributes. must be private
    public String type;
    public String color;
    public Calendar manufactureDate;


    // Behaviors
    public void drive(){
    System.out.println("Driving...");
    }

    public void reverse(){
    System.out.println("Reversing...");
    }


    public void printCarDetails(){
    System.out.println(color +" "+ type +" car manufactured in " + manufactureDate.getTime());
    }

    }

    -----------------------------------------------------

    public class MainClaz {
    public static void main(String[] args) {
    // අපේ class එක පාවිච්චි කරලා audi කාර් instance එකක් හදනවා
    Car audiCar = new Car();

    // attributes සෙට් කලා
    audiCar.type = "Audi";
    audiCar.color = "Black";
    audiCar.manufactureDate = Calendar.getInstance();

    // දැන් හදපු කාර් එකෙන් වැඩ ගන්නවා
    audiCar.drive();
    audiCar.printCarDetails();

    // අපේ class එක පාවිච්චි කරලා bmw කාර් instance එකක් හදනවා
    Car bmwCar = new Car();

    // attributes සෙට් කලා
    bmwCar.type = "BMW";
    bmwCar.color = "White";
    bmwCar.manufactureDate = Calendar.getInstance();

    // දැන් හදපු කාර් එකෙන් වැඩ ගන්නවා
    bmwCar.drive();
    bmwCar.printCarDetails();

    }
    }


    මම මේ අලුත් කෙනෙක්ට තේරෙන්න සරලම විදිහට කිව්වේ. object oriented concept ටික වෙනම දැනගන්න ඕන.


    maxxa widiyata therenna kiyala thiyanawa machan...thanks :yes::yes:
     
    • Like
    Reactions: Shadow.Walker