Ako zavoláte konštruktor triedy predka?

Ako zavoláte konštruktor triedy predka?

12.05.2010, Kategória: Otázky na pohovor, Autor , Tagy: , , Komentáre (1)

Vo všeobecnosti parent::constructorParentName(), kde constructorParentName je názov konštruktora predka.

Príklad:

<?php
 
class p {
 
    function p() {
        print "Parent's constructor\n";
    }
 
    function p_test() {
        print "p_test()\n";
        $this->c_test();
    }
}
 
class c extends p {
 
    function c() {
        print "Child's constructor\n";
        parent::p();
    }
 
    function c_test() {
        print "c_test()\n";
    }
}
 
$obj = new c;
$obj->p_test();
 
?>

Výstup:

Child's constructor
Parent's constructor
p_test()
c_test()

Toto funguje aj v PHP 4. V PHP 5 bola pridaný konštruktor ako __construct – výhodou je, že nemusíte vedieť potom názov konštruktora predka, ani pri zmene názvu triedy meniť názov konštruktora pre správnu funkcionalitu. Potom vlastne môžete volať konštruktor predka triedy všeobecne:

parent::__construct()

Podobné články:

Komentáre (1) k článku “Ako zavoláte konštruktor triedy predka?”