Hi,
ich versuche mich gerade etwas an OOP, da mich man nun endlich davon überzeugt hat. Ich hatte ein für meine Begriffe gutes Tutorial für den Anfang (
klick).
Ich habe zunächst auch erst einmal versucht ein einfaches Konstrukt zusammenzusetzen:
PHP-Code:
<?PHP
class Katze {
var $alter = "3";
var $farbe;
function getAlter() {
return $this->$alter;
}
function getFarbe() {
return $this->$farbe;
}
function wasbistdu() {
if(isset($farbe)) {
$message = "Ich bin eine kleine Mietz mit ".$this->farbe." Fell und ich bin ".$this->getAlter()." Jahre alt";
return $message;
}
$message = "Ich bin eine kleine Mietz und ich bin ".$this->alter." Jahre alt";
return $message;
}
function setFarbe($neueFarbe) {
$this->$farbe = $neueFarbe;
return $this->$farbe;
}
}
$Lisa = new Katze();
print $Lisa->wasbistdu();
?>
Ausgabe:
Zitat:
Ich bin eine kleine Mietz und ich bin 3 Jahre alt
|
So bis hierher funktioniert die ganze Sache auch. Bloß wenn ich beispielsweise eine schwarze Katze "generieren" möchte:
PHP-Code:
<?PHP
class Katze {
var $alter = "3";
var $farbe;
function getAlter() {
return $this->$alter;
}
function getFarbe() {
return $this->$farbe;
}
function wasbistdu() {
if(isset($farbe)) {
$message = "Ich bin eine kleine Mietz mit ".$this->farbe." Fell und ich bin ".$this->getAlter()." Jahre alt";
return $message;
}
$message = "Ich bin eine kleine Mietz und ich bin ".$this->alter." Jahre alt";
return $message;
}
function setFarbe($neueFarbe) {
$this->$farbe = $neueFarbe;
return $this->$farbe;
}
}
$Lisa = new Katze(schwarzem); // <- Hier moechte ich die Farbe aendern
print $Lisa->wasbistdu();
?>
...funktioniert es leider nicht mehr.
Eigentlich sollte jetzt
Zitat:
Ich bin eine kleine Mietz mit schwarzem Fell und ich bin 3Jahre alt
|
... ausgeben werden, aber stattdessen wird
Zitat:
Ich bin eine kleine Mietz und ich bin 3 Jahre alt
|
... ausgegeben.
Rufe ich eventuell die Methoden falsch auf oder wo liegt der/ die Fehler?
Vielen Dank schon im Voraus für hilfreiche Antworten.
MfG Matze