Im Konstruktor von headClass:
$this->underClass2 = new U2($this);
Und class U2 erweitert:
class U2 {
// U2 merkt sich einen Verweis auf das headClass-Object
private $headObject;// den es über den Konstruktor mitgegeben bekommt
function __construct($headObject) {
$this->headObject = $headObject;
}function write() {
// und kann dann darauf zugreifen
echo $this->headObject->status;
}
}
Das ist ja Klasse! Wenn ich nun $status nach Definierung der Klasse und Aufruf des Konstruktors verändere wird es automatisch auch in den Klassen geämdert oder muss ich den Konstruktor nochmal aufrufen?
class headClass {
public $underClass2 = '';
public $status = 0;
function \_\_construct() {
$this->status = 1;
$this->underClass2 = new U2($this);
}
}
class U2 {
private $headObject;
function \_\_construct($headObject) {
$this->headObject = $headObject;
}
function write() {
echo $this->headObject->status;
}
}
$head = new headClass;
$head->status = 2;
$head->underClass2->write(); // Gibt das mir nun 1 oder 2 aus?
Gruß mod.