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

No edit summary
No edit summary
စာကြောင်း ၁၉ -
[[Object-Oriented Analysis]]နှင့် [[Object-Oriented Design]]တွင် အခြေခံ၍ လက်တွေ့စစ္စတမ်များကို တည်ဆောက်ရာတွင် မဖြစ်မနေObject-oriented programming language ကို အသုံးပြုရမည်ဟု မဆိုလိုပါ။ သို့ရာတွင် ဝတ္တစက္ခုလက္ခဏနည်းလမ်းဖြင့် ခွဲခြမ်းစိတ်ဖြာ၍၊ ဝတ္တစက္ခုဒီဇိုင်းဖြင့် ဖွဲ့စည်းပုံကို ဒီဇိုင်းရေးစွဲထားသော စစ္စတမ်တစ်ခုအား လက်တွေ့တည်ဆောက်ရာတွင် ဘာသာရပ်ပိုင်းဆိုင်ရာ အတွေးအခေါ်များတွင် ကွာခြားမှု့နည်းပါးစေရန် ဝတ္တစက္ခုပရိုဂရမ်မင်းဘာသာရပ်များကို အသုံးပြုကြသည်က များပါသည်။
 
==ဝတ္တစက္ခုအခြေပြုObject Oriented ခြေပြု စစ္စတမ် တည်ဆောက်ပုံများ==
ဝတ္တစက္ခုအခြေပြုObject Oriented အခြေပြု စစ္စတမ် တည်ဆောက်ပုံများအနေဖြင့်[[Booch နည်းလမ်း]]<ref>[http://en.wikipedia.org/wiki/Booch_method ''Booch_method'']</ref>၊[[ဝတ္တုစံပြုနည်းပညာOMT]] (OMT)<ref>[http://en.wikipedia.org/wiki/Object-modeling_technique ''Object modeling technique''] </ref>နှင့်[[ဝတ္တစက္ခုဆော့ဖ်ဝဲစက်မှု့ပညာ]] (OOSE/Objectory)]] <ref>[http://en.wikipedia.org/wiki/Object-oriented_software_engineering ''Object-oriented Software Engineering'']</ref>အစရှိသည့် နည်းလမ်းများက ထင်ရှားကြ၏။
 
နောက်ပိုင်းနှစ်များတွင် အထက်ပါနည်းလမ်းများတွင် အသီးသီးအသုံးပြုခဲ့သော ဖော်ပြပုံများသည် [[Object Management Group|OMG]] (Object Management Group) ၏ ကြိုးပမ်းမှု့ကြောင့် တစ်ခုတည်းသော စံပြုဘာသာရပ်[[UML]] (Unified Modeling Language) အဖြစ် ၁၉၉၇ခုနှစ်မှစ၍ အခြေခံစံပြုဘာသာအဖြစ် သက်မှတ်ခဲ့ပြီးနောက်ပိုင်းတွင် ဝတ္တစက္ခုတည်ဆောက်ပုံများကို ဖော်ပြရာတွင် UML ကိုသာအသုံးပြုလေ့ရှိကြ၏။
 
==ဝတ္တစက္ခုဗေဒ၏Object Oriented ဘာသာရပ်၏ အခြေခံဖွဲ့စည်းပုံ==
ဝတ္တစက္ခုဗေဒ၏Object Oriented ဘာသာရပ်၏ အဓိကအတွေးအမြင်များမှာ အောက်ပါအတိုင်းဖြစ်ကြ၏။
===ဖုန်းကွယ်ထားနိုင်ခြင်း(Encapsulation)===
ဆော့ဖ်ဝဲတစ်ခုကို တည်ဆောက်ရာတွင် ပရိုဂရမ်အစုအဝေးတစ်ခုအား ရုပ်ဝတ္တုတစ်ခုအနေနှင့် ကြည့်မြင်ရာတွင်၊ ထိုရုပ်ဝတ္တု၏ အချက်အလက်နှင့်၊ လုပ်ဆောင်ချက်များအတွင်းတွင်၊ ပြင်ပသို့ အသုံးပြုစေလိုသောအရာများ ပါရှိသလို၊ ပြင်ပမှ တိုက်ရိုက်ဆက်သွယ် အသုံးပြုပါက လက်ရှိရုပ်ဝတ္တု၏ ရပ်တည်မှု့ကို ပျက်စီးစေလိုသော လုပ်ဆောင်ချက်များနှင့် အချက်အလက်များလည်း ပါရှိပါလိမ့်မည်။ ထိုအခါမျိုးတွင် လုပ်ဆောင်ချက်နှင့် အချက်အလက်များကို ပြင်ပမှအသုံးပြုနိုင်သော အရာများ၊ အသုံးပြုနိုင်သည့် အဆင့်ကို သတ်မှတ်ထားရန်လိုအပ်ပါသည်။
စာကြောင်း ၃၄ -
အစရှိသဖြင့် အမျိုးမျိုး သတ်မှတ်ထားရန် လိုအပ်ခဲ့ပါသည်။ သို့ရာတွင် ယခုနောက်ပိုင်း ပရိုဂရန်မင်းစာအုပ်များတွင် ဝတ္တစက္ခုဗေဒတွင် ဖုန်းကွယ်ထားခြင်းကို မဖြစ်မနေရေးသားရန် လိုအပ်သည်ဟု မှားယွင်းစွာ ဖော်ပြတက်ကြသည်ကို တွေ့ရတတ်၏။
===အမွေဆက်ခံနိုင်ခြင်း(Inheritance)===
ဝတ္တစက္ခုဗေဒ၏Object Oriented ဘာသာရပ်၏ စတင်ပေါ်ပေါက်လာခဲ့ရခြင်းများကို ပြန်လည်တွေးကြည့်မည်ဆိုလျှင် အမွေဆက်ခံမှု့၏ အရေးပါမှု့ကို သိရှိနိုင်ပါသည်။ ရေးသားထားသော ကုဒ်များကို ပြန်လည်အသုံးပြုလိုခြင်းသည် ဝတ္တစက္ခုဗေဒကို ဖြစ်ပေါ်လာစေခြင်း အကြောင်းတစ်ခုဖြစ်ပါသည်။ ဝတ္တစက္ခုဗေဒတွင် ကလပ်စ်များအကြားတွင် အထက်အောက်ပတ်သက်မှု့များကို ထားရှိပြီး၊ ကလပ်စ်တစ်ခုအား ဆင့်ပွား၍ ပြုလုပ်ထားသော ကလပ်စ်တစ်ခု၏ အော့ဘဂျက်သည် မိမိ၏ အထက်ရှိကလပ်စ်၏အော့ဘဂျက်၏ လုပ်ဆောင်ချက်များနှင့် အချက်အလက်များကို အသုံးပြုနိုင်ပါသည်။ အမွေဆက်ခံနိုင်ခြင်းသည် ဝတ္တစက္ခုဗေဒ၏ အလွန်အရေးကြီးသော အတွေးအမြင်တစ်ခုဖြစ်ပါသည်။ မျိုးရိုးဆက်ခံရာတွင် ကလပ်စ် အများစုမှ မျိုးရိုးဆက်ခံနိုင်သော ဘာသာရပ်များရှိသကဲ့သို့၊ တစ်ခုတည်းမှသာ မျိုးရိုးဆက်ခံနိုင်သော ဘာသာရပ်များလည်းရှိကြပါသည်။ Java ဘာသာရပ်သည် တစ်ခုသော ကလပ်စ်မှသာ မျိုးရိုးဆက်ခံနိုင်သောဘာသာရပ် တစ်မျိုးဖြစ်ပါသည်။
===အသွင်ပြောင်းလည်းနိုင်ခြင်း(Polymorphism)===
===ဒိုင်းနမစ်ဘိုင်းဒီန်(Dynamic Binding)===
 
==ဝတ္တစက္ခုဗေဒ၏Object Oriented ဘာသာရပ်၏ နည်းလမ်းများ==
* [[ကလပ်စ်အခြေခံ]]နည်းလမ်း -- [[Class(ကွန်ပျူတာ)|ကလပ်စ်]]တစ်ခုကို သတ်မှတ်၍၊ ထိုကလပ်စ်ကို အခြေခံ၍ [[အင်းစတန့်စ်]]ကို မွေးဖွားစေသော နည်းလမ်းဖြစ်၏။ '''အမွေဆက်ခံခြင်းအခြေခံ'''ဟုလည်း ခေါ်ဆိုလေ့ရှိ၏။
* [[ပရိုတိုတိုက်အခြေခံ]]နည်းလမ်း --လက်ရှိ[[အင်းစတန့်စ်]]ကို အခြေခံ၍ [[အင်းစတန့်စ်]]အသစ် တစ်ခုကိုမွေးဖွားစေသော နည်းလမ်းဖြစ်၏။ '''အင်းစတန့်စ်အခြေခံ'''ဟုလည်း ခေါ်ဆိုလေ့ရှိ၏။
စာကြောင်း ၄၆ -
<references/>
[[Category:ဆော့ဖ်ဝဲလ် ရေးသားခြင်း]]
[[Category:ဝတ္တစက္ခုဗေဒ(Object Oriented)]]