⊗ppOpIfII 74 of 107 menu

PHP OOP တွင် ကလပ်စ်အမွေဆက်ခံခြင်းနှင့် interface အကောင်အထည်ဖော်ခြင်း

ကလပ်စ်တစ်ခုသည် အခြားကလပ်စ်တစ်ခုမှ အမွေဆက်ခံနိုင်ပြီး ထိုအချိန်တွင် interface တစ်ခုခုကို အကောင်အထည်ဖော်နိုင်ပါသည်။ လက်တွေ့ဥပမာဖြင့် ကြည့်ရှုပါမည်။

ကျွန်ုပ်တို့သည် Programmer ကလပ်စ်တစ်ခုပြုလုပ်လိုသည်ဆိုပါစို့၊ ၎င်းတွင် အမည်၊ လစာနှင့် ပရိုဂရမ်မာတစ်ဦး သိရှိသော ဘာသာစကားများစာရင်း ပါဝင်လိမ့်မည်။ �ခုအချိန်တွင် ကျွန်ုပ်တို့၏ ကလပ်စ်ဖော်ပြချက်သည် အလွန်မကွဲပြားပါ- ဟုတ်ပါသည်၊ ကလပ်စ်တွင် အမည်၊ လစာ၊ ဘာသာစကားများ ပါဝင်မည်- သို့သော် ကျွန်ုပ်တို့၏ ကလပ်စ်တွင် မည်သည့်နည်းလမ်းများ ပါဝင်မည်နည်း။

ယခု interface iProgrammer ကိုအသုံးပြု၍ ကျွန်ုပ်တို့၏ ကလပ်စ်ကို ပိုမိုတိကျစွာ ဖော်ပြကြပါစို့-

<?php interface iProgrammer { public function __construct($name, $salary); public function getName(); public function getSalary(); public function getLangs(); public function addLang($lang); } ?>

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

<?php class Employee { private $name; private $salary; public function __construct($name, $salary) { $this->name = $name; $this->salary = $salary; } public function getName() { return $this->name; } public function getSalary() { return $this->salary; } } ?>

ကျွန်ုပ်တို့၏ အခြေအနေတွင် ယခုကဲ့သို့ ပြုလုပ်ရန် ယုတ္တိတန်ပါသည်၊ ကျွန်ုပ်တို့၏ အသစ် Programmer ကလပ်စ်သည် Employee ကလပ်စ်မှ ၎င်း၏ကိုယ်ပိုင်လိုအပ်သော နည်းလမ်းများ၏ အစိတ်အပိုင်းကို အမွေဆက်ခံမည် (ကျန်အပိုင်းကိုမူ နောက်ပိုင်းတွင် အသစ်ကလပ်စ်ထဲ၌ အကောင်အထည်ဖော်မည်)-

<?php class Programmer extends Employee { } ?>

ထိုအချိန်တွင် Pogrammer ကလပ်စ်သည် iProgrammer interface ကို အကောင်အထည်ဖော်သင့်သည်ကို ကျွန်ုပ်တို့သိရှိသည်-

<?php class Programmer implements iProgrammer { } ?>

ယခု Employee ကလပ်စ်မှ အမွေဆက်ခံခြင်းနှင့် iProgrammer interface အကောင်အထည်ဖော်ခြင်းကို ပေါင်းစပ်ကြည့်ပါမည်-

<?php class Programmer extends Employee implements iProgrammer { } ?>

ကျွန်ုပ်တို့၏ Pogrammer ကလပ်စ်သည် Employee ကလပ်စ်မှ __construct, getName နှင့် getSalary နည်းလမ်းများကို အမွေဆက်ခံမည်ဖြစ်ပြီး၊ addLang နှင့် getLangs နည်းလမ်းများကိုမူ ကျွန်ုပ်တို့ကိုယ်တိုင် အကောင်အထည်ဖော်ရန် လိုအပ်မည်-

<?php class Programmer extends Employee implements iProgrammer { public function addLang($lang) { // အကောင်အထည်ဖော်မှု } public function getLangs() { // အကောင်အထည်ဖော်မှု } } ?>

iProgrammer interface အတွက် နည်းလမ်းများသည် ကလပ်စ်၏ မူရင်းနည်းလမ်းများလား၊ အမွေဆက်ခံထားသော နည်းလမ်းများလား ဆိုသည်က အရေးမကြီးပါ- အဓိကအချက်မှာ ဖော်ပြထားသည့် နည်းလမ်းအားလုံး အကောင်အထည်ဖော်ထားရမည် ဆိုသည့်အချက်ဖြစ်သည်။

ကျွန်ုပ်၏ Employee ကလပ်စ်၏ ကုဒ်နှင့် iProgrammer interface ၏ ကုဒ်ကို ကူးယူပါ။ ကျွန်ုပ်၏ Programmer ကလပ်စ် ပုံကြမ်းကိုမူ ကူးယူမထားပါနှင့်- ကျွန်ုပ်၏ကုဒ်ကို ကြည့်ရှုခြင်းမပြုဘဲ ထိုကလပ်စ်ကို ကိုယ်တိုင် အကောင်အထည်ဖော်ပါ။

မြန်မာ
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 များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်