Christian Kruse: Abgeleitete Klassen->Greenhorn kapiert's nicht

Beitrag lesen

Hallo Tom,

class Klasse {
    var $zahl;
    var $ergebnis1;
    var $ergebnis2;

function Klasse($zahl = 0) {
        $this->zahl = $zahl;
        $this->ergebnis1 = $this->zahl - 100;
        $this->ergebnis2 = $this->zahl + 100;
    }
}

class Abgeleitete_klasse extends Klasse {
    var $ergebnis3;

function Abgeleitete_klasse() {
        $this->ergebnis3 = $this->ergebnis1 + $this->ergebnis2;
    }
}

$test = new Klasse(1000);
$test_abgeleitet = new Abgeleitete_klasse(1000);

[...]

Wenn nun die 'Abgeleitete_klasse' die Eigenschaften und
Methoden von 'Klasse' erbt, sollten dem Konstruktor von
'Abgeleitete_klasse' doch auch '$zahl', '$ergebnis1' und
'$ergebnis2' bekannt sein. Sind se aber nicht, und ich
begreife einfach nicht, warum.

Nun, Objekte erstellen Instanzen von Klassen. Und die Klassen-Variablen sind Instanz-abhaengig. Will heissen: in
$test_abgeleitet sind die Variablen von $test_abgeleitet
nicht verfuegbar. Ausserdem wird der Konstruktor von der Klasse 'Klasse' bei der Erstellung einer Instanz der Klasse
'Abgeleitete_Klasse' nicht ausgefuehrt -- das musst du schon
von Hand machen.

Gruesse,
 CK

--
http://cforum.teamone.de/
http://wishlist.tetekum.de/
If God had meant for us to be in the Army, we would have been born with green, baggy skin".