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

အရေးမကြီး ဘော့ - စာသားများကို အလိုအလျောက် အစားထိုးခြင်း (-ကြပါသည် +ကြသည်)
အရေးမကြီး ဘော့ - စာသားများကို အလိုအလျောက် အစားထိုးခြင်း (-ဆိုပါသည် +ဆိုသည်, -နိုင်ပါသည် +နိုင်သည်, -ခဲ့ပါသည် +ခဲ့သည်)
 
စာကြောင်း ၁ -
{{merge|အော့ဗ်ဂျက် အိုရီယင့်တက် ပရိုဂရမ်းမင်း}}
Object Oriented ဆိုသည်မှာ ပုံဆောင်ဝတ္တုအချင်းချင်း ပူးပေါင်း၍ စစ္စတမ်တစ်ခု၏ တာဝန်များထမ်းဆောင်စေရန် စဉ်းစားခြင်းကို ခေါ်ဆိုပါသည်။ခေါ်ဆိုသည်။ စစ္စတမ်အတွင်းတွင် အသုံးပြုသော အချက်အလက်များနှင့် လုပ်ဆောင်ချက်များကို အုပ်စုဖွဲ့ကာ ပုံဆောင်ရုပ်ဝတ္တု တစ်ခုအနေဖြင့် ကိုယ်စားပြုပြီး၊ ထိုပုံဆောင်ရုပ်ဝတ္တုများ အချင်းချင်း ဆက်သွယ်ဆောက်ရွက်ခြင်း အားဖြင့် စစ္စတမ်တစ်ခုလုံးကို ဖွဲ့စည်းတည်ဆောက်ခြင်းဖြစ်၏။ အင်္ဂလိပ်ဘာသာစကား object-oriented မှ ဆင်းသက်လာသော စကားလုံးတစ်ခုဖြစ်၏။
 
Object Oriented ဘာသာရပ်၏ စတင်လာပုံမှာ ပရိုဂရမ်၏ဖွဲ့စည်းပုံကို ကိုယ်စားပြု ရုပ်ဝတ္တုများ၏ အပြန်အလှန်ဆောင်ရွက်ချက်များအနေဖြင့် ပြောင်းလည်းကြည့်မြင်ပြီး၊ ပရိုဂရမ်ကုဒ်များ ကိုရေးသား ဖော်ပြစေသော Object Oriented ပရိုဂရမ်မင်း(OOP; object-oriented programming) အဖြစ်စတင်၏။ ထိုမှတဆင့် စစ္စတမ်များကို တည်ဆောက်ရာတွင် အခြေခံလိုအပ်ချက်များကို သုံးသပ်ရာတွင်လည်းကောင်း၊ တည်ဆောက်ရာတွင် ဖွဲ့စည်းပုံကို ရုပ်ဝတ္တုအနေဖြင့် ကိုယ်စားပြုသက်မှတ်ပြီး စဉ်းစားသော Object-Oriented Analysis နှင့် စစ္စတမ်၏ လုပ်ဆောင်ချက်များနှင့် ဖွဲ့စည်းပုံကို ရုပ်ဝတ္တုနှင့် [[Class(ကွန်ပျူတာ)|ကလပ်စ်]]များဖြင့်ဖော်ပြသော Object-Oriented Design ဟူ၍ အဆင့်ဆင့် တိုးတက်ပြောင်းလည်းလာခဲ့၏။
စာကြောင်း ၁၆ -
တဖန်[[ပရိုဂရမ်မင်း]]အဆင့်တွင်လည်း [[ပရိုဂရမ်မင်း]]၏ လုပ်ဆောင်ပုံကို သက်မှတ်ပေးသော အမိန့်ဖွဲ့စည်းပုံများကို စုပေါင်းရေးသားလေ့ရှိသော [[ဖွဲ့စည်းပုံစနစ်ချပရိုဂရမ်မင်း]]နှင့် အမျိုးအစားတူ လုပ်ဆောင်ချက်များကို စုစည်းထား၍ ပြင်ပမှ အလွယ်တကူ ဆက်သွယ်ခြင်း မပြုလုပ်နိုင်ရန် အကန့်များကို သတ်မှတ်လေ့ရှိသော [[မော်ဂျူးပရိုဂရမ်မင်း]]၊ အနေအထားအမျိုးမျိုးအပေါ်တွင် အသုံးပြုနိုင်မှု့ကို ဦးစားပေးသား [[ဒေတာအမြင် ပရိုဂရမ်မင်း]]အစရှိသော နည်းလမ်းများကို အသုံးပြုခဲ့ကြ၏။
 
Object Oriented ဘာသာရပ်သည် အထက်ပါနည်းလမ်းများကို စုပေါင်း၍ အသုံးလွယ်ကူရန် စီစဉ်ထားသော နည်းပညာတစ်ခုဖြစ်သည်ဟု စဉ်းစားနိုင်ပါသည်။စဉ်းစားနိုင်သည်။
 
[[Object-Oriented Analysis]]နှင့် [[Object-Oriented Design]]တွင် အခြေခံ၍ လက်တွေ့စစ္စတမ်များကို တည်ဆောက်ရာတွင် မဖြစ်မနေ Object-oriented programming language ကို အသုံးပြုရမည်ဟု မဆိုလိုပါ။ သို့ရာတွင် ဝတ္တုစက္ခုလက္ခဏနည်းလမ်းဖြင့် ခွဲခြမ်းစိတ်ဖြာ၍၊ ဝတ္တုစက္ခုဒီဇိုင်းဖြင့် ဖွဲ့စည်းပုံကို ဒီဇိုင်းရေးစွဲထားသော စစ္စတမ်တစ်ခုအား လက်တွေ့တည်ဆောက်ရာတွင် ဘာသာရပ်ပိုင်းဆိုင်ရာ အတွေးအခေါ်များတွင် ကွာခြားမှု့နည်းပါးစေရန် ဝတ္တုစက္ခုပရိုဂရမ်မင်းဘာသာရပ်များကို အသုံးပြုကြသည်က များပါသည်။
စာကြောင်း ၃၃ -
* မိမိ၏အမွေဆက်ခံသူများကို အသုံးပြုစေလိုသည့်အရာများ
* မည်သူမဆို အသုံးပြုနိုင်သည့်အရာများ
အစရှိသဖြင့် အမျိုးမျိုး သတ်မှတ်ထားရန် လိုအပ်ခဲ့ပါသည်။လိုအပ်ခဲ့သည်။ သို့ရာတွင် ယခုနောက်ပိုင်း ပရိုဂရန်မင်းစာအုပ်များတွင် ဝတ္တစက္ခုဗေဒတွင် ဖုန်းကွယ်ထားခြင်းကို မဖြစ်မနေရေးသားရန် လိုအပ်သည်ဟု မှားယွင်းစွာ ဖော်ပြတတ်ကြသည်ကို တွေ့ရတတ်၏။
===အမွေဆက်ခံနိုင်ခြင်း(Inheritance)===
Object Oriented ဘာသာရပ်၏ စတင်ပေါ်ပေါက်လာခဲ့ရခြင်းများကို ပြန်လည်တွေးကြည့်မည်ဆိုလျှင် အမွေဆက်ခံမှု့၏ အရေးပါမှု့ကို သိရှိနိုင်ပါသည်။သိရှိနိုင်သည်။ ရေးသားထားသော ကုဒ်များကို ပြန်လည်အသုံးပြုလိုခြင်းသည် ဝတ္တုစက္ခုဗေဒကို ဖြစ်ပေါ်လာစေခြင်း အကြောင်းတစ်ခုဖြစ်သည်။ ဝတ္တုစက္ခုဗေဒတွင် ကလပ်စ်များအကြားတွင် အထက်အောက်ပတ်သက်မှု့များကို ထားရှိပြီး၊ ကလပ်စ်တစ်ခုအား ဆင့်ပွား၍ ပြုလုပ်ထားသော ကလပ်စ်တစ်ခု၏ အော့ဘဂျက်သည် မိမိ၏ အထက်ရှိကလပ်စ်၏အော့ဘဂျက်၏ လုပ်ဆောင်ချက်များနှင့် အချက်အလက်များကို အသုံးပြုနိုင်ပါသည်။အသုံးပြုနိုင်သည်။ အမွေဆက်ခံနိုင်ခြင်းသည် ဝတ္တုစက္ခုဗေဒ၏ အလွန်အရေးကြီးသော အတွေးအမြင်တစ်ခုဖြစ်သည်။ မျိုးရိုးဆက်ခံရာတွင် ကလပ်စ် အများစုမှ မျိုးရိုးဆက်ခံနိုင်သော ဘာသာရပ်များရှိသကဲ့သို့၊ တစ်ခုတည်းမှသာ မျိုးရိုးဆက်ခံနိုင်သော ဘာသာရပ်များလည်းရှိကြသည်။ Java ဘာသာရပ်သည် တစ်ခုသော ကလပ်စ်မှသာ မျိုးရိုးဆက်ခံနိုင်သောဘာသာရပ် တစ်မျိုးဖြစ်သည်။
===အသွင်ပြောင်းလဲနိုင်ခြင်း(Polymorphism)===
===ဒိုင်းနမစ်ဘိုင်းဒီန်(Dynamic Binding)===