Forum und email

parent

Gyakran van szükség arra, hogy a szülő tulajdonságaira vagy metódusaira hivatkozzunk leszármazott osztályokban. Ez különösen igaz, ha a leszármazott osztály egy finomítása, vagy specializálása az alaposztálynak.

Ahelyett, hogy a szülő osztály nevét megadd minden ilyen meghíváskor (mint a hogy a :: operátor példája mutatta), használhatod a parent speciális nevet, ami tulajdonképpen a szülő osztály nevét jelenti, amit az extends kulcsszónál megadtál. Ennek a speciális névnek a használatával elkerülöd a szülő osztály nevének ismétlődését. Ha a megvalósítás során a leszármazási fát meg kell változtatni, csak egy helyen, az extends kulcsszónál kell átírnod a nevet.

<?php
class {
    function 
pelda() {
        echo 
"Én A::pelda() vagyok egyszerű funkcióval.<br />\n";
    }
}

class 
extends {
    function 
pelda() {
        echo 
"Én B::pelda() vagyok több funkcióval.<br />\n";
        
parent::pelda();
    }
}

$b = new B;

// Ez a B::pelda() metódust hívja, ami az A::pelda()-t hívja
$b->pelda();
?>