වැදගත් දෙවියෙක් වෙමු OOP 2

DooA

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

    මුලින්ම AspenK සහෝදරයා ගැන කියන්න ඕනේ. මේ සහෝදරයා මට සැහෙන්න උදවු කරනවා. ඉස්සරහට යන්න. ඒ වගේම අනික් අයත් එහෙමයි ගොඩක් උදවු කරනවා. ගොඩක් ඉස්තුති. :yes: කොමෙන්ට් කරන. අයට. විශේෂයෙන් මගේ වැරදි පෙන්නලා දෙන අයට.

    ඔන්න දෙවියෙක් වෙමු ( OOP ) කලින් එකට හොද මෙව්වා තිබ්බ නිසා එකේම දෙවෙනි කොටස අරන් අවා. එක බැලුවේ නැත්නම් මේකට කලින් එක බලල ඉන්න.

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

    හරි අපි හදන්න යමු දොස්තර කෙනෙක්. දැන් බලමු දොස්තර කියන මිනිහට මොනවද කරන්න පුළුවන් කියලා.
    >කන්න
    >බොන්න
    >ඇවිදින්න
    >නිදාගන්න
    >බෙහෙත් දෙනවා

    වගේ ඒවානේ..
    එතකොට දොස්තරයට තියෙන්නේ මොනවා ද ? මොනවද ඉතින් සාමාන්‍ය මිනිහෙක්ට තියෙන හැමදේම තියෙනවා.
    > නමක්
    > උස
    > මහත
    > හමේ පාට
    >කොන්ඩේ පාට

    දැන් අපි දන්නවනේ දොස්තරයට මොනවද තියෙන්නේ/කරන්න පුළුවන් කියලා. එත් ඉතින් මේලෝකේ ඉන්නේ දොස්තරලා විතරක් යැයි.
    එහෙනම් අපි තව ටික දෙනෙක් අරගෙන බලමු මොනවද කරන්න පුළුවන් කියලා.

    කොන්දොස්තර ,

    >කන්න
    >බොන්න
    >ඇවිදින්න
    >නිදාගන්න
    >ටිකට් කඩනවා

    පොලිස් කාරයෙක් ,

    >කන්න
    >බොන්න
    >ඇවිදින්න
    >නිදාගන්න
    >අයුධ පෙන්නවා


    ඔය ඇති , දැන් බලන්න මේ හැම එකාටම උන්ට විතරක් කරන්න පුළුවන් දේවල් තියෙනවා. මිනිස්සු හැමදෙනෙක්ම කරන දේවල් ටියෙනවා.
    ඒ කියන්නේ දොස්තර උනත් , කොන්දොස්තර උනත් , පොලිස් කාරයෙක් උනත් මොකෙක් උනත් ඒ හැමදෙනාම මිනිස්සු නේ.

    දැන් අපි බලමු දොස්තර කෙනෙක් හදාගන්න.
    දැන් අපි මොකක්ද කරන්නේ ඔව් කලින් කරා වගේ Doctor කියලා class එකක් හදාගන්නවා දොස්තරට තියෙන්න ඕන දේවල් ටික
    variable විදියට හදාගන්නවා. කරන්න පුළුවන් ටික method විදියට හදාගන්නවා.
    එතකොට,

    Eat();
    Drink();
    Sleep();
    Walk();
    Check_Patient();

    එහෙනම් හිතා ගන්නකො, ඔය වගේ හැම මිනිස්සු ජාතියටම ඔය වගේ class හදාගන්න ගියොත් දේවියට උනත් එපා වෙනවා.
    අනික ඉතින් ඔයා class වලට මහා වෙනස් තියෙනවද නෑනේ. වෙනස් වෙන්නේ එක method එකයි. අනික් ඒවා ඔක්කොම සාමාන්‍ය මිනිස්සු කරන දේවල්නේ.

    දැන් දෙවියා කල්පනා කරනවා. අනේ අර කලින් හදාගත්ත human කියන class එකේ

    Eat();
    Drink();
    Sleep();
    Walk();

    ටික තියෙන එකේ ඕකෙන් මොකක් හරි කරලා දොස්තරව හදාගත්තොත් තව එක method එකනෙ හදන්න ඕනේ කියලා.
    ඇයි එතකොට පොලිස් කාරයට ආ උටත් එක method එකයි හදන්න ඕනේ.

    මේවගේ ඒවා හදන්න ඕන වෙලාවට OOP වලදී එක Inheritance කියන සිද්දිය එනවා.

    inherit = උරුම වෙනවා

    මෙහෙමනේ. ඔයා ඉන්නවා. නිකමට හිතලා බලන්න ඔයාට තියෙන්නේ ඔයාගේ තාත්තගේ තියෙන ලක්ෂණ නේද ?
    හරියට බැලුවොත් තාත්තගේ ලක්ෂණ 100% කම ඔයා ලග තියෙන්න ඕනේ නේද ?
    තාත්තගේ හමේ පාට , කොන්දේ පාට , වගේ ඒවා.

    එතකොට ඔයා මොකද කරන්නේ කොහේ හරි class එකක් හොයාගෙන ගිහින් java ඉගෙන ගන්නවා. එතකොට ඔයාගේ තාත්තට java පුළුවන් වෙනවද ?
    නෑනේ . එත් දැන් ඔයාට තාත්තගේ දේවල් එහෙමම තියෙනවා ඒ වගේම ඔයාගෙම ඒවාත් තියෙනවා.

    තව විදියකට කිව්වොත් Doctor කියලා class එකක් හදලා Human class එක inherit කරොත් Doctor කියන class එකට Human class
    එකේ තියෙන හැම දේම එනවා. එත් එක්කම විතරක් ඕන දේවල් ටික Doctor කියන class එකේ දාගන්නවා.

    දැන් බලමු කොහොමද ඕක java වල කරන්නේ කියලා.
    java වල inherit කරන්නේ extends කියන keyword එකෙන්.

    ආ දැන් කොහෙටද ඔය මගුල් keyword එක දාන්නේ.

    Class Doctor extends Human{

    }

    දැන් දැක්කද කොහෙටද දාන්නේ කියලා. ඔය උඩින් කරලා තියෙන්නේ Doctor කියලා class එකක් හදලා තියෙනවා ඒ class එකේ "තාත්තා" Human.

    ඕකට කියන්නේ inheritance කියලා. Parent Child relationship එක කියලා.

    Parent = Human
    Child = Doctor

    Human:
    d_zpsd92d6954.png


    Doctor:
    a_zps703b40bc.png


    හරි දැන් doctor කෙනෙක් ඉන්නවා උට human ගේ දේවල් ටික ඔක්කොමත් තියෙනවා. දැන් ඉතින් ඔහොම තිබ්බම හරිද ? එහෙනම් doctor කෙනෙක් හදන්න ඕනෙද ?

    දැන් එහෙනම් Doctor ව ලෙඩ්ඩු බලන්න පුළුවන් විදියට හදමු. මොකක්ද කරන්න තියෙන්නේ Doctor class එකේ අපිට ඕන අලුත් method එක හදනවා.
    එච්චරයි.

    b_zps1c38a590.png


    දැක්කනේ පොඩි දෙයක් කරේ. දැන් ඔයාලා බලනව ඇති යකෝ කොහෙන්ද name කියලා variable එකක් ඇවිත් තියෙන්නේ කියලා. මන් කිව්වනේ
    මේකේ Human ට තියෙන හැම දෙයක්ම තියෙනවා බලන්නකෝ Human class එකේ ඇති name කියලා varible එකක්.

    දැන් අපි තව වැඩකට ඇති මිනිස්සු දෙන්නෙක් හදාගමු.

    b_zps1c38a590.png


    d_zpsae3b4729.png


    ඔන්න හරි මේවත් දොස්තර වගේමයි. human class එක inherit කරලා ටින්න්නේ. ඒ වගේ එයාලට අවේනික method එකක් තියෙනවා. එච්චරයි.

    දැන් දෙයිය දෙයියනේ කියලා doctor කෙනෙක්ව මවන්න යන්නේ. මතකනේ කලින් පාරා අපි හැදුවේ නිකන් මිනිහෙක්

    Human human1 = new Human();

    මේ පාර හදන්නේ

    Doctor doctor1 = new Doctor();

    ඔය කරන්නේ Doctor class එකේ object එකක් හදාගන්න එක.
    එතකොට මොනවද ඔය doctor1 කියන object එක ඇතුලේ තියෙන්නේ.

    1.Human class එකේ තිබ්බ ඔක්කොම දේවල් ටික ( Human class එක extends කරලා තියෙන නිසා )
    2. Doctor class එකේ ඔක්කොම දේවල් ටික .


    දැන් එහෙනම් කලින් වගේම මේ දොස්තරය නමක් , උසක් , බරක් දීලා වැඩේ කරමු.

    e_zps1eed2923.png


    හරිනේ එහෙනම් දැන් බලමු මේ දොස්තරට කරන්න පුළුවන් දේවල්.

    f_zpsfa435bae.png


    output

    g_zps77b987a9.png


    අම්මට සිරි අපිටත් දැන් දොස්තරෙයෙක් හදන්න පුළුවන්. පොඩ්ඩක් බලමුද අනික් දෙන්නටත් වැඩ කරනවද කියලා

    h_zps25d55699.png

    j_zpsa4a729d2.png

    k_zpse815f14b.png

    Output

    l_zps82254473.png


    බඩු වැඩ. දැන් ඔයාට මිනිස්සු හදන්න කොච්චර ලේසිද ? නැත්නම් ඉස්සර වගේ එකම method ටික හැම class එකේම ලිය ලිය කාලේ කන්න ඕනේ නැනේ.

    හරිනේ. එහෙනම් ඔන්න ඔයාලා ඉගෙන ගත්තේ inheritance ඊළගට තවත් එකක් කරන්න බලාපොරොත්තු වෙනවා.

    OOP concept එකෙන් වැඩියෙන්ම පාවිච්චි කරන්නේ මේ inheritance කියන එක. මේක ඔයාලා හිතනවට වඩා ගොඩක් වැදගත්
    සින් එකක්.

    එහෙනම් කට්ටියටම සුබ

    project : Download
     
    Last edited:

    IronRox

    Well-known member
  • Oct 23, 2013
    1,633
    614
    113
    patta machan me tharam mahansi vela me vage vatina thread dana ekata puduma tharam pin.patta ...Rep +++
     

    Thunderhawk

    Well-known member
  • Nov 19, 2013
    2,926
    1,343
    113
    බූරුවන්ට කොහොමත් ජාවා වැඩක් නැහැනේ. මේ වගේ වැදගත් ත්‍රෙඩ් බලල යමක් ඉගෙන ගන්න උන් ගොඩක් මේකේ ඉන්නවා. බූරුවෝ ඉන්නේ ටික දෙනෙක් විතරයි. එක නිසා ඔයා මේක දිගටම කරගෙන යන්න. බූරුවෝ ටික කෑ ගහල එපා උනහම සද්ද නැතුව ඉඳියි. කොහොමත් ඔයාට හොඳ හැකියාවක් තියෙනවා අනිත් යට යමක් තේරුම් යන විදිහට කියල දෙන්න.:cool:
     

    DooA

    Well-known member
  • Jun 22, 2011
    5,202
    773
    113
    ආගිය අතක් නැත
    බූරුවන්ට කොහොමත් ජාවා වැඩක් නැහැනේ. මේ වගේ වැදගත් ත්‍රෙඩ් බලල යමක් ඉගෙන ගන්න උන් ගොඩක් මේකේ ඉන්නවා. බූරුවෝ ඉන්නේ ටික දෙනෙක් විතරයි. එක නිසා ඔයා මේක දිගටම කරගෙන යන්න. බූරුවෝ ටික කෑ ගහල එපා උනහම සද්ද නැතුව ඉඳියි. කොහොමත් ඔයාට හොඳ හැකියාවක් තියෙනවා අනිත් යට යමක් තේරුම් යන විදිහට කියල දෙන්න.:cool:

    :yes::yes::yes::yes:
     

    AspenK

    Member
    Apr 28, 2013
    566
    130
    0
    ආයිත් ඉතින් අහන්ඩ දෙයක් නැ වෙනද වගේම ලස්සන කතාවක්.. මේක කියවදිදී ලිපියක් කියවනවා කියල මටනම් තේරෙන්නේ නැ...
    Inheritance කියන්නේ ගොඩක් වැදගත් සංකල්පයක්... එක මෙතන ලස්සනට කියල දීල තියනවා...
    මන් හිතන විදියට සමහර තැන වල මල්ලි english අකුරු වලින් ඔය type කරන්ඩ හිතපු එව්වා මගරිලා තියනවා ලිපියේ.. පොඩ්ඩක් බලල edit පාරක් දාන්ඩ...

    ස්තුත්යි DooA මල්ලි මන් ගැන සඳහන් කලාට.... හැගේ හෝ වේවා හොඳ හැකියවක් දැක්කොත් එයට යන්ද හරි පාර පෙන්වන එක කාගේ කාගේත් යුතුකමක් විදියටයි මම දකින්නේ...

    ජය වේවා