⊗ppOpIfSII 73 of 107 menu

PHP ရှိ OOP တွင် အင်တာဖေ့စ်များစွာ

PHP တွင် အမွေဆက်ခံမှု ဗီဇပေါင်းစုံမရှိပါ - ကလပ်စ်တစ်ခုစီသည် မိဘတစ်ဦးတည်းသာ ရနိုင်ပါသည်။ သို့သော် အင်တာဖေ့စ်များနှင့်ပတ်သက်၍ အခြေအနေမှာ ကွဲပြားပါသည် - ကလပ်စ်တစ်ခုစီသည် အင်တာဖေ့စ်အရေအတွက် မည်မျှပင်မဆို အကောင်အထည်ဖော်နိုင်ပါသည်။ ယင်းအတွက် အင်တာဖေ့စ်အမည်များအား သော့ချက်စကားလုံး implements နောက်တွင် ကော်မာဖြင့် စာရင်းပြုစုပေးရန် လိုအပ်ပါသည်။

ဤသည်မှာ အင်တာဖေ့စ်များ၏ ထပ်ဆင့်ကွဲပြားချက်တစ်ခုဖြစ်ပြီး - အင်တာဖေ့စ်များစွာကို အကောင်အထည်ဖော်နိုင်သော်လည်း အယ်ဘ်စထရက်ကလပ်စ်များစွာကိုမူ အမွေဆက်ခံ၍မရနိုင်ပါ။

လက်တွေ့စမ်းကြည့်ကြပါစို့။ အင်တာဖေ့စ် iFigure မှလွဲ၍ ကျွန်ုပ်တို့တွင် အင်တာဖေ့စ် iTetragon လည်း ရှိသည်ဆိုပါစို့။ ဤအင်တာဖေ့စ်၏ မက်သဒ်များကို ကလပ်စ်များ Quadrate နှင့် Rectangle များမှ အကောင်အထည်ဖော်မည်ဖြစ်ပြီး ၎င်းတို့တွင် 4 ဘက်များ ရှိသောကြောင့်ဖြစ်ကာ၊ ကလပ်စ် Disk ကတော့ အကောင်အထည်ဖော်မည် မဟုတ်ပါ။

အင်တာဖေ့စ် iTetragon သည် စတုဂံပုံစံတစ်ခု၏ အနားလေးဘက်စလုံးအတွက် ဂက်တာများကို ဖော်ပြသည်ဆိုပါစို့ -

<?php interface iTetragon { public function getA(); public function getB(); public function getC(); public function getD(); } ?>

ထို့အပြင် ကျွန်ုပ်တို့ ယခင်က ဖန်တီးခဲ့သည့် အင်တာဖေ့စ် iFigure လည်း ရှိသည်ဆိုပါစို့-

<?php interface iFigure { public function getSquare(); public function getPerimeter(); } ?>

ကလပ်စ် Quadrate သည် အင်တာဖေ့စ်နှစ်ခုကို အကောင်အထည်ဖော်စေရန် ပြုလုပ်ကြပါစို့။ ယင်းအတွက် အင်တာဖေ့စ်နှစ်ခုလုံးအား သော့ချက်စကားလုံး implements နောက်တွင် ကော်မာခြားကာ စာရင်းပြုစုပေးရပါမည်-

<?php class Quadrate implements iFigure, iTetragon { // အကောင်အထည်ဖော်မှု ဤနေရာတွင် ရှိမည် } ?>

ယခု ကျွန်ုပ်တို့၏ ကလပ်စ် Quadrate ကို အင်တာဖေ့စ် iTetragon ကို အကောင်အထည်ဖော်နိုင်ရန် ပြင်ဆင်ကြပါစို့။ ကျွန်ုပ်တို့၏ စတုရန်းသည် စတုဂံပုံစံ၏ အထူးကိစ္စတစ်ခုဖြစ်ကြောင်း ရှင်းနေပါသည်၊ အဘယ်ကြောင့်ဆိုသော် စတုရန်းတွင် အနားအားလုံး ညီညာသောကြောင့်ဖြစ်သည်။ ထို့ကြောင့် မက်သဒ်အသစ်အားလုံးသည် တူညီသောအရာကို ပြန်ပေးမည်ဖြစ်သည် - စတုရန်း၏ အနားအလျားဖြစ်သည်-

<?php class Quadrate implements iFigure, iTetragon { private $a; public function __construct($a) { $this->a = $a; } public function getA() { return $this->a; } public function getB() { return $this->a; } public function getC() { return $this->a; } public function getD() { return $this->a; } public function getSquare() { return $this->a * $this->a; } public function getPerimeter() { return 4 * $this->a; } } ?>

ထင်ရှားသည်မှာ စတုဂံတွင် အနားအားလုံး တူညီမနေတော့ဘဲ၊ ဆန့်ကျင်ဘက်အနားများသာ တူညီပါသည်။ ထိုသို့ဆိုလျှင် မက်သဒ်အသစ်များသည် အနည်းငယ် ကွဲပြားလာပါမည်။ ကောင်းပြီ၊ တြာပီဇီယမ်တစ်ခုခုတွင် အနား 4 ခုစလုံးပင် ကွဲပြားနေပါမည်။

သို့ရာတွင်၊ ကျွန်ုပ်တို့ စဉ်းစားသော ပုံသဏ္ဌာန်သည် မည်သည့်ပုံစံဖြစ်သည်က မအရေးမကြီးပါ - အရေးကြီးသည်မှာ ထိုပုံသဏ္ဌာန်အားလုံးတွင် ဖော်ပြထားသောမက်သဒ်များ ရှိမည် (ပုံသဏ္ဌာန်အချို့မှာ အထူးကိစ္စများဖြစ်နေသော်လည်း) ဖြစ်ပြီး တစ်မျိုးတစ်စားတည်းသာ အလုပ်လုပ်မည် ဖြစ်သည်။

ကလပ်စ် Rectangle သည်လည်း အင်တာဖေ့စ်နှစ်ခုကို အကောင်အထည်ဖော်စေရန် ပြုလုပ်ပါ - iFigure နှင့် iTetragon တို့ဖြစ်သည်။

အင်တာဖေ့စ် iCircle ကို မက်သဒ်များ getRadius နှင့် getDiameter တို့ဖြင့် ဖန်တီးပါ။

ကလပ်စ် Disk သည်လည်း အင်တာဖေ့စ်နှစ်ခုကို အကောင်အထည်ဖော်စေရန် ပြုလုပ်ပါ - iFigure နှင့် iCircle တို့ဖြစ်သည်။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်