Mikä on tärkeintä PHP: ssä?

Ohittaminen on oliokeskeinen ohjelmointikonsepti, joka on samanlainen kuin PHP: n luokka, objekti, kapselointi, polymorfismi, ylikuormitus jne. Toimintojen ja luokkien ohittaminen tapahtuu, kun johdettuun luokkaan luodaan menetelmä, joka on sama kuin perusluokassa tai vanhemmaluokassa. Molemmilla menetelmillä on sama nimi ja sama määrä argumentteja.

Kuinka ohittaminen toimii?

  • Ohittaminen on käsite, jossa perusluokan johdettu luokka suorittaa saman toiminnan kuin perusluokan. Tämä ohittaminen voi koskea menetelmiä tai luokkia. Jos se on menetelmä, joka ohittaa parametrien menetelmän nimen, käyttöoikeusspesifikaattorin todetaan olevan sama kuin pääluokkamenetelmän. Jos menetelmässä ei ole havaittu muutosta perusluokasta johdetussa alaluokassa, tuolloin sanotaan, että alaluokan menetelmä on ohittanut perustason luokan menetelmän.
  • Oletetaan, että on luokka nimeltä Henkilö, jolla on omat tietoominaisuudet ja menetelmät. Tämä on vanhempi tai perusluokan henkilö, jolla on menetelmä nimeltä speak (). Nyt on vielä yksi luokka nimeltään työntekijä, joka laajentaa henkilöstöluokkaa. Nyt tällä työntekijäluokalla on omat tietoominaisuudet ja menetelmät, ja sillä on myös sama menetelmä kuin vanhemmaluokalla, esim. Puhe ().
  • Tämä, puhu () -menetelmä on läsnä perusluokassa ja myös johdetussa luokassa.
  • Nyt tapahtuu, kun luokka välitetään tai kun objekti luodaan, mikä puhu () -menetelmästä suoritetaan, mikä tarkoittaa sitä, että puhutaan perusluokasta tai puhutaan johdetusta luokasta, riippuu luokan kohteesta kutsutaan.
  • Toisin sanoen, jos luodaan henkilöluokan objekti, kutsutaan henkilöluokan puhua () -menetelmää ja siksi suoritetaan. Mutta jos työntekijäluokan objekti luodaan, suoritetaan johdetun luokan speak () -menetelmä, joka ohittaa vanhemman luokan speak () -luokan.
  • Ja tässä on kuinka ohittaminen tapahtuu esimerkin avulla
  • Seuraavassa esimerkissä on kaksi luokkaa, perusluokka ja johdettu luokka. Johdettu luokka laajentaa perusluokkaa. Nämä luokat aloitetaan ja luodaan kaksi objektia $ obj1 ja $ obj2. $ obj1 on BaseClass-objektin ja $ obj2 on johdetun luokan objekti. Nämä objektit kutsuvat edelleen luokissaan ilmoitettuja menetelmiä.
  • Tässä huomaat, että perusluokalla ja johdetulla luokalla on sama menetelmä nimeltään ABC (). Kun suoritat tämän ohjelman, huomaat, että ABC () -menetelmä on ohittanut kantaluokan menetelmän ABC ().

Esimerkki menetelmän ohittamisesta

class BaseClass (
public function ABC() (
echo "
In the base class";
)
)
class DerivedClass extends BaseClass (
// override the method ABC() of base class
public function ABC() (
echo "
In the derived class";
)
)
$obj1 = new BaseClass;
$obj1->ABC();
$obj2 = new DerivedClass;
$obj2->ABC();

lähtö:

Ohittaminen käyttöoikeuksien muuntajilla

Käyttötietojen muuntajia on kolme.

  1. julkinen: pääsee mistä tahansa ohjelman kohdasta.
  2. yksityinen: Pääsee vain vanhemmaluokalta.
  3. suojattu: pääsee perusluokasta ja johdetusta luokasta.

Kuten tiedämme, suojattu menetelmä on saavutettavissa perusluokasta ja johdettu luokka, se voidaan julkistaa alaluokassa, mutta ei yksityistä, koska yksityinen on käytettävissä vain vanhemmassa luokassa. Myös jos luokkamenetelmällä on pääsymäärittelijä julkisena, johdetun luokan ensisijaista menetelmää ei voida julistaa yksityiseksi ja suojatuksi

Esimerkki käyttöoikeuden muuntajien käyttämästä menetelmästä

class BaseClass (
private function ABC() (
echo "
In the base class Method : ABC";
)
protected function XYZ() (
echo "
In the base class Method : XYZ";
)
)
class DerivedClass extends BaseClass (
// overriding with public for wider accessibility
public function ABC() (
echo "
In the derived class Method : ABC";
)
// overriding method
// with more accessibility
public function XYZ() (
echo "
In the derived class Method : XYZ";
)
)
//$obj1 = new BaseClass;
//$obj1->ABC(); //throws fatal error
//$obj1->XYZ(); //throws fatal error
$obj2 = new DerivedClass;
$obj2->ABC();
$obj2->XYZ();

lähtö:

Ohittaminen lopullisella avainsanalla

Lopullista avainsanaa käytetään luokissa ja menetelmissä. Menetelmiä ja luokkia, ei muuttujia, ei voida ohittaa.

Lopullinen menetelmä ohittaa

Kun menetelmä tai luokka julistetaan lopulliseksi, sitä menetelmää tai luokkaa ei voida ohittaa, eikä periminen luokan kanssa ole myöskään mahdollista.

Esimerkki menetelmästä, jolla ohitetaan lopullinen avainsana

class BaseClass (
// Final method – display
// this cannot be overridden in base class
final function display() (
echo "
In the Base class display function";
)
/// method - ABC
function ABC() (
echo "
In the Base cLass ABC function";
)
)
class DerivedClass extends BaseClass (
function ABC() (
echo "
In the Derived class ABC function";
)
)
$obj1 = new DerivedClass;
$obj1->display();
$obj1->ABC();

lähtö:

Viimeisen luokan ohittaminen

Lopulliseksi julistettua luokkaa ei voida periä. Finaaliluokalla on lisäksi lopullinen menetelmä yhdessä muiden menetelmien kanssa. Mutta koska luokka itsessään julistetaan lopulliseksi, lopullista menetelmää ei voida julistaa lopullisessa luokassa.

Esimerkki luokan ohittamisesta lopullisen avainsanan avulla

// class declared as final cannot be overridden
final class BaseClass (
// method - ABC
function ABC() (
echo "
In the BaseClass Method ABC function";
)
// Final method - display
function display() (
echo "
In the BaseClass Method display function";
)
)
// here you cannot extend the base class
// as the base class is declared as final
$obj1 = new BaseClass;
$obj1->display();
$obj1->ABC();

lähtö:

Suositellut artikkelit

Tämä on opas ohittamiseen PHP: ssä. Tässä keskustellaan siitä, mikä on PHP: n ja erilaisten menetelmien ohittamista ja toimivuutta yhdessä näytekoodin kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Keskeiset PHP-haastattelukysymykset
  2. PHP: n edut
  3. Ura PHP: ssä
  4. PHP-komennot
  5. Opas ohittamiseen JavaScript-ohjelmassa
  6. Kuinka ohittaminen toimii C ++: ssa?
  7. Ohittaminen OOP: issa Menetelmän ohittamisen tarve
  8. Pääsy muokkaimet PHP
  9. Ylivoimainen Java