Klaus: Kennst sich jemand mit php UND Java aus ? " this ?

Beitrag lesen

Hi,

Vielen Dank für die Antworten!!!!!!!!!

Nein. Nur kannst du ihn in der Regel weglassen.

Aber in php nicht?

In Java sind die beiden Schreibweisen this.methode() und methode() gleichwertig. Normalerweise benötigst du this nur, wenn du in einer Methode eine Instanz- oder Klassenvariable überlagerst.

Was war noch mal der Underschied zwischen den beiden?

Also kommt in Java this nur im Konstruktor vor?

Hier tritt der obige Fall auf. Die Variablen im Konstruktor haben den gleichen Namen, sodass die Instanzvariablen mit this davon unterschieden werden müssen.

Also ich dachte biher immer das this.varibalenname bedeutet, dass die ganze Klasse die varibale kennt.

Beispielklasse:

class Tisch
{
    $tischdecke;
    $farbe;

Tisch($tischdecke)
    {
        $this->tischdecke = $tischdecke;
    }

function setTischfarbe($farbe)
    {
        $this.tischfarbe = $farbe;
    }

function returnTischfarbe
    {
        return $this->tischfarbe;
    }
}

Also mein Verständnis war immer dass ich, wenn ich setTischfarbe aufrufe, $this.tischfarbe = $farbe; schreibe, um $farbe (Attribut der Klasse) zu setzen. Wenn ich das $this in der Methode setTischfrabe weglasse, kann die Methode returnTischfarbe ja nix zurückgeben, wenn ich sie aufrufe. Sehe ich das so richtig?

Wie sähe diese Klasse in Java aus?

Danke

Klaus