Hallo Bastian,
Objekteigenschaften hängen am Objekt und behalten ihren Wert, solange das Objekt "lebt". Du kannst Dir das Objekt dafür als "Array mit angeklebten Funktionen" vorstellen. Was Du also in einer Methode setzt, ist in einer nachfolgend aufgerufenen Methode verfügbar - solange das mit dem gleichen Objekt passiert. Hier etwas Spielerei:
class Westmensch
{
private $vorname;
public $nachname
public function __constructor($v, $n) {
$this->vorname = $v;
$this->nachname = $n;
}
public get_Vorname() {
return $this->vorname;
}
public get_Name() {
return $this->vorname . " " . $this->nachname;
}
public set_Name($neuerVorname, $neuerNachame) {
$this->vorname = $neuerVorname
$this->nachname = $neuerNachname
}
}
$m = new Westmensch("Bastian", "Bux");
$r = new Westmensch("Rolf", "B");
echo $m->nachname; // Direktzugriff auf Eigenschaft -> Bux
echo $m->get_Vorname(); // Getter -> Bastian
echo $m->vorname; // Direktzugriff scheitert wegen private
$m->set_Name("Karl", "Koriander");
$r->set_Name("Rübe", "Zahl");
$r->nachname = "Rapunzel";
echo $m->get_Name(); // -> Karl Koriander
echo $r->get_Name(); // -> Rübe Rapunzel
Die Klasse heißt Westmensch, weil das Namensschema für östliche Völker ggf. nicht passt. Die Methodenauswahl ist kein Vorbild für Objektmodellierung!
Ich erstelle zwei Objekte, jedes mit eigenen Inhalten. Der Vorname ist private (könnte auch protected sein), der Nachname public. Deswegen kann man den Nachnamen direkt lesen und ändern, den Vornamen aber nicht.
Und was Du in der einen Methode gesetzt hast (oder direkt gesetzt hast), ist in nachfolgenden Methoden weiterhin verfügbar. Aber für jedes Objekt separat.
Rolf
sumpsi - posui - obstruxi