Versio

[OOP] 2x extenden

Overzicht Reageren

Thijs X

Thijs X

21/03/2008 14:24:00
Quote Anchor link
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
class auto extends motorvoortuig

class lexus extends auto


Ik wil namelijk een methode aanroepen vanuit een lexus die in motorvoertuigen zit.
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
PHP hulp

PHP hulp

25/05/2012 12:46:16
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Joren de Wit
Beheerder

Joren de Wit

21/03/2008 14:25:00
Quote Anchor link
Jep, dat is geen probleem. In theorie zou je zo ver door kunnen gaan als je wilt...
 
Thijs X

Thijs X

21/03/2008 14:30:00
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$this
->getKleur();
?>
 
Jonathan -

Jonathan -

21/03/2008 14:33:00
Quote Anchor link
is het iet parent::getKleur() of $parent->getKleur()?
 
Joren de Wit
Beheerder

Joren de Wit

21/03/2008 14:34:00
Quote Anchor link
Een voorbeeldje aan de hand van je Lexus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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...
 
Thijs X

Thijs X

21/03/2008 14:35:00
Quote Anchor link
Bedankt voor jullie reactie, het was een kleine typfout die ik steeds over het hoofd heb gezien, vandaar dat het ook niet werkte :S
 



Overzicht Reageren