Zit al een tijdje te klooien en vroeg me af of het uberhaupt wel kon in PHP om 2 keer te extenden.

Voorbeeld:
motorvoortuig -> auto -> lexus


class auto extends motorvoortuig

class lexus extends auto


Ik wil namelijk een methode aanroepen vanuit een lexus die in motorvoertuigen zit.
Jep, dat is geen probleem. In theorie zou je zo ver door kunnen gaan als je wilt...
Hmm dat is raar ik heb namelijk het volgende:

Afbeelding
+ getKleur ( protected )

TekstAfbeelding

Tekst2Afbeelding


Structuur:
Afbeelding -> TekstAfbeelding -> Tekst2Afbeelding

Zodra ik in Tekst2Afbeelding de methode getKleur aanroep, doet die helmaal niks.

<?php
$this->getKleur();
?>
is het iet parent::getKleur() of $parent->getKleur()?
Een voorbeeldje aan de hand van je Lexus:
<?php
class Motorvoertuig
{
protected function printOut()
{
echo 'Ik ben een motorvoertuig';
}
}

class Auto extends Motorvoertuig
{

}

class Lexus extends Auto
{
public function __construct()
{
$this->printOut();
}
}

$oCar = new Lexus();
?>
Je ziet dat je vanuit de Lexus klasse gewoon methods uit de Motorvoertuig klasse aan kunt roepen...
Bedankt voor jullie reactie, het was een kleine typfout die ik steeds over het hoofd heb gezien, vandaar dat het ook niet werkte :S

Reageren