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.

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

class B extends A
{
    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();