this.

Neue Frage »

Auf diesen Beitrag antworten »
neuling96 this.

ich hab Schwierigkeiten das this. zuverstehen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
    public class Figur {
     
    private int anzahlArme;
     
    public void setAnzahlArme1(int anzahlArme){
    this.anzahlArme = anzahlArme;
    }
     
    public void setAnzahlArme2(int arme ){
    this.anzahlArme = arme;
    }
     
    public void setAnzahlArme3(int arme ){
    anzahlArme = arme;
    }
     
    public Figur wasGebeIchZurück()
    {
    return this;
    }
     
    }


1. this.anzahlArme = anzahlArme;
wird der wert ganz oben zu anzahlArme
2. this.anzahlArme= arme
überscheibung von anzahlArme zu arme
3. ?

4. muss dann arme sein?
 
Auf diesen Beitrag antworten »
eulerscheZahl

Mit this kannst du auf die Klassenvariablen zugreifen. Alle drei Funktionen setArmeAnzahl machen das selbe.
Bei public void setAnzahlArme1(int anzahlArme){ hast du zweimal die Variable anzahlArme. Die innere, also die im Funktionsargument überdeckt dadurch die äußere (die Klassenvariable). Willst du aber auf die Klassenvariable zugreifen, geht das mit this. Es wird also der Klassenvariable der an die Funtion übergebene Wert zugewiesen. Wenn du den Code in eclipse/NetBeans kopierst, werden die Klassenvariablen farblich anders gekennzeichnet, da siehst du auch nochmal, was zu Klasse gehört und was zur Funktion.

Bei setAnzahlArme2 wäre die Klassenvariable auch so zugänglich, die Verwendung von this ist redundant (wird wegen der Lesbarkeit des Codes aber trotzdem gerne gemacht). Für eine Unterscheidung zwischen Klassenvariable und Funktionsargument ist es nicht nötig, da die beiden andere Namen haben.

Bei setAnzahlArme3 wurde this dann schließlich weggelassen, geht auch.

Mit der letzten Funktion kommst du an die Instanz der Klasse. Ist eigentlich recht sinnfrei, da du ja erst einen Verweis auf die Figur brauchst, um die Funktion aufrufen und die Figur zurückgeben zu können.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »