ဝတ္တစက္ခုဗေဒ(Object Oriented): တည်းဖြတ်မှု မူကွဲများ

No edit summary
စာကြောင်း ၂၈ -
ဝတ္တစက္ခုဗေဒ၏ အဓိကအတွေးအမြင်များမှာ အောက်ပါအတိုင်းဖြစ်ကြ၏။
===ဖုန်းကွယ်ထားနိုင်ခြင်း(Encapsulation)===
ဆော့ဖ်ဝဲတစ်ခုကို တည်ဆောက်ရာတွင် ပရိုဂရမ်အစုအဝေးတစ်ခုအား ရုပ်ဝတ္တုတစ်ခုအနေနှင့် ကြည့်မြင်ရာတွင်၊ ထိုရုပ်ဝတ္တု၏ အချက်အလက်နှင့်၊ လုပ်ဆောင်ချက်များအတွင်းတွင်၊ ပြင်ပသို့ အသုံးပြုစေလိုသောအရာများ ပါရှိသလို၊ ပြင်ပမှ တိုက်ရိုက်ဆက်သွယ် အသုံးပြုပါက လက်ရှိရုပ်ဝတ္တု၏ ရပ်တည်မှု့ကို ပျက်စီးစေလိုသော လုပ်ဆောင်ချက်များနှင့် အချက်အလက်များလည်း ပါရှိပါလိမ့်မည်။ ထိုအခါမျိုးတွင် လုပ်ဆောင်ချက်နှင့် အချက်အလက်များကို ပြင်ပမှအသုံးပြုနိုင်သော အရာများ၊ အသုံးပြုနိုင်သည့် အဆင့်ကို သတ်မှတ်ထားရန်လိုအပ်ပါသည်။
* မိမိတစ်ဦးတည်းသာ အသုံးပြုနိုင်သော အရာများ၊
* မိမိ၏ တစ်အိမ်တည်းနေသူ (package တစ်ခုအတွင်းတွင် တည်ရှိသော Object) များမှ အသုံးပြုနိုင်သည့် အရာများ
* မိမိ၏အမွေဆက်ခံသူများကို အသုံးပြုစေလိုသည့်အရာများ
* မည်သူမဆို အသုံးပြုနိုင်သည့်အရာများ
အစရှိသဖြင့် အမျိုးမျိုး သတ်မှတ်ထားရန် လိုအပ်ခဲ့ပါသည်။ သို့ရာတွင် ယခုနောက်ပိုင်း ပရိုဂရန်မင်းစာအုပ်များတွင် ဝတ္တစက္ခုဗေဒတွင် ဖုန်းကွယ်ထားခြင်းကို မဖြစ်မနေရေးသားရန် လိုအပ်သည်ဟု မှားယွင်းစွာ ဖော်ပြတက်ကြသည်ကို တွေ့ရတတ်၏။
===အမွေဆက်ခံနိုင်ခြင်း(Inheritance)===
ဝတ္တစက္ခုဗေဒ၏ စတင်ပေါ်ပေါက်လာခဲ့ရခြင်းများကို ပြန်လည်တွေးကြည့်မည်ဆိုလျှင် အမွေဆက်ခံမှု့၏ အရေးပါမှု့ကို သိရှိနိုင်ပါသည်။ ရေးသားထားသော ကုဒ်များကို ပြန်လည်အသုံးပြုလိုခြင်းသည် ဝတ္တစက္ခုဗေဒကို ဖြစ်ပေါ်လာစေခြင်း အကြောင်းတစ်ခုဖြစ်ပါသည်။ ဝတ္တစက္ခုဗေဒတွင် ကလပ်စ်များအကြားတွင် အထက်အောက်ပတ်သက်မှု့များကို ထားရှိပြီး၊ ကလပ်စ်တစ်ခုအား ဆင့်ပွား၍ ပြုလုပ်ထားသော ကလပ်စ်တစ်ခု၏ အော့ဘဂျက်သည် မိမိ၏ အထက်ရှိကလပ်စ်၏အော့ဘဂျက်၏ လုပ်ဆောင်ချက်များနှင့် အချက်အလက်များကို အသုံးပြုနိုင်ပါသည်။ အမွေဆက်ခံနိုင်ခြင်းသည် ဝတ္တစက္ခုဗေဒ၏ အလွန်အရေးကြီးသော အတွေးအမြင်တစ်ခုဖြစ်ပါသည်။ မျိုးရိုးဆက်ခံရာတွင် ကလပ်စ် အများစုမှ မျိုးရိုးဆက်ခံနိုင်သော ဘာသာရပ်များရှိသကဲ့သို့၊ တစ်ခုတည်းမှသာ မျိုးရိုးဆက်ခံနိုင်သော ဘာသာရပ်များလည်းရှိကြပါသည်။ Java ဘာသာရပ်သည် တစ်ခုသော ကလပ်စ်မှသာ မျိုးရိုးဆက်ခံနိုင်သောဘာသာရပ် တစ်မျိုးဖြစ်ပါသည်။
===အသွင်ပြောင်းလည်းနိုင်ခြင်း(Polymorphism)===
===ဒိုင်းနမစ်ဘိုင်းဒီန်(Dynamic Binding)===