දෙවියෙක් වෙමු ( OOP )

DooA

Well-known member
  • Jun 22, 2011
    5,202
    773
    113
    ආගිය අතක් නැත
    දෙවියෙක් වෙමු ( OOP )


    කලින් එකට ( http://www.elakiri.com/forum/showthread.php?t=1622344 )හොද ප්‍රතිචාර තිබ්බ නිසා මේක කරන්න පටන් ගන්නවා. මේක ඇවිත් බෙසික් එකක්. මම යොදා ගන්නේ java එත් මෙතැනදී කියන්න ඕනේ
    language එක ප්‍රශ්නයක් නෑ. මේ කරන දේවල් ඕනෑම language එකකින් කරන්න පුළුවන්.

    මේ ටික කරන්නම් ඔයාලා hello world application එකක් ලියන්න දැනගෙන ඉන්න ඕනේ. මුල ඉදන් ම ඕනේ නම්
    මේකට ගිහින් රවුමක් ගහලා එන්න.

    Basics

    බලමු මොකද්ද මේ oop කියන්නේ කියලා Object-Oriented programming
    oop කියන්නේ ඔයාලා හිතන් ඉන්න තරම් අමාරු දෙයක් නෙමෙයි. වෙලා තියෙන්නේ ඔයාලා හිතවා වැඩි. වැඩිය හිතන්න එපා.
    මුල ඉදන් කියවගෙන යන්න.

    දැන් හිතන්න ඔයා තමයි දෙවියෝ. ඔයා දැන් ලෝකේ මවලා තියෙන්නේ. එත් ලෝකේ විතරක් ටියලා වැඩක් නෑනේ. කෝ මේකට එක එක ජාතියේ සත්තු.
    දැන් ඔයා මිනිස්සු දෙන්නෙක් තුන්දෙනෙක් මවන්න හදන්නේ. ඔන්න දැන් මවන්නයි හදන්නේ. මවන්න පුළුවන් උනාට මිනිහෙක් මවන්න පුලුවන්ද ?
    බෑ. එක නිසා ඔයා අයේ හිතනවා මේ මිනිහාට මොන වගේ වැඩද කරන්න පුළුවන් ? මේ මිනිහාට මොනවද තියෙන්න ඕනේ දේවල් කියලා ?

    ඔය පොතක් අරන් ලියනවා මිනිහට කරන්න පුළුවන් වැඩ ටික ?
    > කනවා
    > බොනවා
    > නිදාගන්නවා
    > ඇවිදිනවා
    > ජිගි ජිගිය දානවා


    ඔය ඇති ඈ කරන ඔක්කොම වැඩ ටික ලියන්න බෑ.

    දැන් බලමු මේ මිනිහාට මොනවද තියෙන්නේ කියලා (
    > නමක්
    > උස
    > මහත
    > හමේ පාට
    >කොන්ඩේ පාට


    ඔන්න ඔයාට plan එකක් තියෙනවා දැන් මේ මිනිහාට තියෙන්න ඕන දේවල් ගැනයි කරන්න පුළුවන් දේවල් ගැනයි.

    කරන්න පුළුවන් දේවල් = behaviours
    තියෙන්න ඕන දේවල් = attributes


    දැන් ඔයා ඔය plan එක java වලින් හදාගන්න යන්නේ .

    අපි හැදුවේ මොකද්ද අ මිනිහෙක්ගේ පොඩි ආකෘතියක්. ඒ කියන්නේ පන නැති මිනිහෙක්. ඒ උනාට අපි ට පුළුවන් ඒ ආකෘතිය දිහා බලාගෙන ඇත්ත මිනිහෙක් හදන්න
    මොකද ඔයානේ දෙවියා.

    සරලව කිව්වොත් programming වලදී class එකක් කියන්නේ කලින් කිව්වා ආකෘතිය වගේ එකක්. එතන ඇති දෙයක් නෑ. නිකන් plan එකක් විතරයි.
    තව සරල කරොත් ඔයාගේ ගේ හදන්නේ plan එකකට අනුව එත් plan එක කියන්නේ ගේ නෙමෙයි. අපි plan එක බලන් ගේ හදන්න ඕනේ. එහෙමනේ ?


    ඔන්න දැන් ඔයා Human කියන class එක හදන්න යන්නේ. එකේදී අපි මිනිහට තියෙන්න ඕන දේවල් ටික variables විදියට හදනවා. කරන්න පුළුවන් දේවල් methods

    a_zps5675faea.png


    ඔය තියෙන්නේ තියෙන්න ඕනේ විදිය. උඩින්ම තියෙන්නේ class එකේ නම . ඊළගට තියෙන්නේ attributes ටික අන්තිම ටික behaviours ටික

    දැන් මම ඔය ටික code එකෙන් කරන්න යන්නේ.


    b_zpsf7ffa8e4.png


    ඔන්න human කියල class එකක් හදලා තියෙනවා එකට attributes ටික දැම්ම. හරිම සිම්පල්

    c_zpsf860ec4b.png


    ඔන්න ඉතින් ඊළගට human ගේ behaviours ටික දැම්ම.
    මේවා අමාරුද බං. පොඩි දේවල්.

    හරි දැන් ඔය Eat කියන method එක call කරාම මොකද වෙන්නේ ??

    මුකුත නැ. ඇයි ඒ . ඇයි ඉතින් ඒ method එක ඇතුලේ මොනවත් නෑනේ.

    එහෙනම් මම method ටික call කරාම වැඩ කරනවද කියලා දන ගන්න ඒවා ඇතුලට මොනවා හරි දාන්නම්.

    d_zpsd92d6954.png


    ඔන්න ඉවරයි.. දැන් මොකද ? දැන් අපි ලග මිනිහගේ ආකෘතිය තියෙනවා. ඕක තියන් ඉදල වැඩක් තියෙනවද අපි මිනිහෙක් හදලා බලමු.
    දැන් කොහොමද මිනිහව හදන්නේ. එකට අපි human class එකේ instance හදාගන්නවා. ඒ කියන්නේ හරියට human class එකේ copy එකක් ගන්නවා වගේ
    වැඩක් .
    එක කරන්නේ .

    Human DooA = new Human();

    ඔන්න ඔහොම. DooA කියන්නේ මිනිහෙක් එක නිසා තමයි DooA ගේ data type එක Human උනේ. new Human(); කියන ටිකෙන් වෙන්නේ
    අර මගේ ආකෘතියට අනුව මිනිහෙක් හදලා DooA කියන මිනිහට assign කරනවා.

    දැන් DooA කියන්නේ මිනිහෙකගේ object එකක් . මේක ඇතුලේ අර human class එකේ තිබ්බ ඔක්කොම දේවල් ටික තියෙනවා.

    දැන් නමක් දාන්න යන්නේ . මතකයි නේ name කියල variable එකක් තියෙනවා මිනිහට. මම දැන් කරන්නේ එකට මට ඕන නමක් දෙනවා.

    DooA.Name = "DooA";

    දැන් මුට නමක් තියෙනවා. DooA කියන object එක ඇතුලේ තියෙන attribute වලට value assign කරන්නේ

    objectName.Attribute = yourValue ;

    හරිනේ මගේ objectName එක DooA ,
    මට ඕන attribute එක Name,
    මගේ value එක "DooA" .


    දැන් මන් අනික් attribute ටිකත් ඔයවගේ මොනවා මොනවා හරි දාලා තියාගන්නවා.

    f_zps1e6e5b05.png



    ඔන්න දැන් මන් ලග ඉන්නවා DooA කියල කොල්ලෙක් උ අඩි 6 ,ක් උසයි කිලෝ 70 ,බරයි කොන්දේ කළු ,සුදු කොල්ලෙක්.

    දැන් බලමු මුට කලින් කිව්වා වගේ මිනිහෙක්ට කරන්න පුළුවන් වැඩ ටික කරන්න පුලුවන්ද කියලා.

    DooA.Eat(); කිව්වම මු කන්න ඕනේ. මොකද කලින් කිව්වා වගේ human class එකේ තියෙන හැම දෙයක්ම DooA කියන
    object එකේ තියෙනවා.


    g_zps0187b63a.png


    output

    h_zps56a6ed6b.png


    ආ ඔය වැඩ කරන්නේ.
    කියන්න දෙයක් නෑනේ. එක ආකෘතියකින් එක මිනිහෙක් නෙමෙයිනේ හදන්න පුළුවන්. එකිනෙකට වෙනස් මිඉස්සු ගොඩක් හදන්න පුළුවන්. උන් ඔක්කොම කනවා
    බොනවා නිද්දගන්නවා ඇවිදිනවා. හැබැයි උන්ගේ උස මහත බර පාට වෙනස්.

    j_zpscccb3b74.png


    output

    k_zps1f0850f1.png



    l_zpse8c1a06e.png


    ඔන්න ඔයාලත් දෙවියෙක් උනා එහෙනම්. දැන් ඉතින් එක එක ජාතියේ උන්ව හදපල්ලා
    මේවා ඇවිත් පොඩි පාඩමක්. තව ගොඩක් තියෙනවා . ඉක්මනට ඊලග එක අරන් එන්නම්.

    Project Download : HERE









     
    Last edited: