Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 26.07.2007, 23:23
ct2oo4 ct2oo4 ist offline
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 07.04.2007
Beiträge: 311
ct2oo4 befindet sich auf einem aufstrebenden Ast
Frage Ein kleines OOP Problem mit Klassen etc.

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
__________________
Mit Zitat antworten
Sponsored Links