Mako: OOP PHP Fragen

Beitrag lesen

Hi Leute, ich habe hierzue ein paar fragen.

class Lebewesen  
{  
    public $Vorname;  
    public $Alter;  
    public $Energie;  
	  
    protected function setVorname($vorname)  
    {  
        $this->Vorname = $vorname;  
    }  
  
    public function getVorname()  
    {  
        return $this->Vorname . ' ';  
    }  
	  
    protected function setAlter($alter)  
    {  
        $this->Alter = $alter;  
    }  
  
    public function getAlter()  
    {  
        return $this->Alter . ' ';  
    }  
	  
    protected function setEnergie($energie)  
    {  
        $this->Energie = $energie;  
    }  
  
    public function getEnergie()  
    {  
        return $this->Energie . ' ';  
    }  
	  
	  
    public function Laufe($verbrauch)  
    {		  
       $aktuelleEnergie = $this->getEnergie();  
		  
       if ($verbrauch > $aktuelleEnergie)  
       {  
            $brauchtEnergie = $verbrauch - $aktuelleEnergie;  
            return 'Nicht genügend Energie. Man braucht ' . $brauchtEnergie . ' Energie';  
       }  
       else  
       {  
            $neuEnergie = $aktuelleEnergie - $verbrauch;  
	    $this->setEnergie($neuEnergie);  
            return $verbrauch . ' Energie verbraucht';  
       }  
    }  
}  
  
class Person extends Lebewesen  
{  
    public function __construct($vorname, $nachname)  
    {  
        $this->setVorname($vorname);  
        $this->setNachname($nachname);  
		$this->setEnergie(99);  
    }  
	  
    public function setNachname($nachname)  
    {  
        $this->Nachname = $nachname;  
    }  
  
    public function getNachname()  
    {  
        return $this->Nachname . ' ';  
    }  
}

wenn ich das weg lasse

public $Vorname;  
public $Alter;  
public $Energie;

funktioniert der Code immer noch :S wieso?

das mit der $aktuelleEnergie = $this->getEnergie(); habe ich so gelöst.
ich dachte man könnte es auch so lösen $Energie ist dann immer die aktuelle Energie, aber so funktioniert das nicht. wieso genau?

würde mich freuen wenn mir jemand weiter helfen könnte.

Vielen Dank
Mako