Die this Referenz

Status
Nicht offen für weitere Antworten.
T

Tito

Gast
Hallo,

ich hab einige Probleme beim verstehen der this Referenz hab mir grad http://www.galileocomputing.de/openbook/javainsel7/javainsel_06_001.htm#t2t34

durchgelesen, verstehe aber immer noch nicht alles. Z.B. bei dem Prog http://en.literateprograms.org/Complex_numbers_(Java)

gibt es zu beginn diesen Code

Code:
public Complex () {
    this.re = 0;
    this.im = 0;
  }

Warum werden denn im Defaultkonstruktor die Variablen mit "this" versehen? Nach meinem angelesenes Verständnis ist das nicht nötig, weil hier keine Objektvaraible verdeckt werden würde. Hätte also in dem Fall "re = 0" & "im = 0" gereicht?
 
S

SlaterB

Gast
entweder man macht es generell oder generell nicht und achtet dann auf prinzipiel unterschiedliche Parameternamen (z.B. mit einem festen Prefix)

extra zu schauen, ob Überdeckung stattfindet oder gar Vermischung a la

Code:
public Complex (double re) { 
    this.re = re; 
    im = 0; 
}
wäre doch schlecht
 

FArt

Top Contributor
Zu dem Thema gibt es eine (für mich) zutreffende Meinung:

Guter Code ist selbstdokumentierend. Technisch ist this nicht nötig, aber dem menschlichen Leser hilft es.
 

Saxony

Top Contributor
Hiho,

ich verwende beides - Parameter mit Präfix UND this.

Code:
public void setX(int aX) {

  this.x = aX;
}

Das ist oft vielen zuviel Getippe, aber das Lesen wird zu einem Genuß! :)

bye Saxony
 

ARadauer

Top Contributor
ich halte überhaupt nichts von Präfixen... wenns zu kompliziert wird, dass ich nicht mehr weiß, was ein attribut und was ein member ist, hab ich was falsch gemacht...

ich hab mir noch nie gefragt ob das jetzt ein member

und standard ist es auch nicht...
 

diggaa1984

Top Contributor
vielleicht sinnvoll bei ner methode die 200 zeilen lang is und diverse lokale variablen (nicht zwingend alle am Anfang) deklariert :D .. dann erhöhts die lesbarkeit ungemein
 
T

Tito

Gast
Ich sehe keinen Sinn darin Code zu erzeugen, der nicht notwendig ist. Es geht schließlich immer darum die Anweisungen mitzuteilen, die zum ordnungsgemäßem Laufen eines Programmes unabdingbar sind. Anweisungen die hinzugefügt werden, aber nicht nötig sind stellen höchstens eine Hürde zum Verständnis des Programmes dar, da man sich fragt: Wozu dient diese Anweisung?
 
M

maki

Gast
diggaa1984 hat gesagt.:
vielleicht sinnvoll bei ner methode die 200 zeilen lang is und diverse lokale variablen (nicht zwingend alle am Anfang) deklariert :D .. dann erhöhts die lesbarkeit ungemein
Eine Methode mit 200 Zeilen gehört refactored, merkt man auch an Code in dem mittendrin Kommentare auftauchen.

Es geht schließlich immer darum die Anweisungen mitzuteilen, die zum ordnungsgemäßem Laufen eines Programmes unabdingbar sind.
Dann bräuchte man ja seine Variablen nur von a, b ,c ..x, y, z zu nennen und Methoden und Klassen auch, schliesslich läuft das ja genauso gut :roll:
Auch sind höheren Programmiersprachen dann überflüssig, schliesslich läuft opcode assembler auch "ordungsgemäß"... :roll:
 
S

SlaterB

Gast
@Tito

this. kannst du damit aber nicht meinen, this. ist doch kein Code, eher Benennung/ Formatierung/ Layout,
wenn du das für überflüssig hälst, dann vielleicht auch Aufruf statischer Methoden am Klassenname, Variablennamen mit mehr als zwei Buchstaben, allgemein Einrückung zur Lesbarkeit usw.?
 
G

Guest

Gast
Ob ich meine Variable Banane oder Apfel nenne ist kein Hinzufügen einer unnötigen Anweisung.
 
G

Guest

Gast
SlaterB hat gesagt.:
@Tito

this. kannst du damit aber nicht meinen, this. ist doch kein Code, eher Benennung/ Formatierung/ Layout,
wenn du das für überflüssig hälst, dann vielleicht auch Aufruf statischer Methoden am Klassenname, Variablennamen mit mehr als zwei Buchstaben, allgemein Einrückung zur Lesbarkeit usw.?

Mmmh... aber this. ist doch eine Anweisung... oder???
 
M

maki

Gast
Tito hat gesagt.:
maki hat gesagt.:
this ist eine Referenz, keine Anweisung.
Schließt sich das aus? Weise ich mit "this.re" nicht an sich auf die Objektvariable zu beziehen?
ein einzelnes
Code:
;
ist schon eine gültige Anweisung,

this ist KEINE Anweisung, sondern eine Refernz, wie bereits gesagt ;)
 
T

Tito

Gast
Na gut, ob man es Anweisung nennt oder Referenz... entscheidend ist das this. die Funktion hat die Überdeckung der Objektvariable aufzuheben... (wenn man will kann man sagen "this. weist dazu an und es deshalb eine Anweisung nennen(das ist aber eher literarisch gemeint, wenn es im Programmierslang eindeutig keine Anweisung darstellt macht es keinen Sinn es so zu nennen))... Dieses funktionsträchtige Wort unnötiger Weise hinzuzufügen macht keinen Sinn.
 
M

maki

Gast
Hast weder das eine noch das andere verstanden Tito ;)

Sinn ergibt alles, wodurch der Code für den Entwickler lesbarer wird, wann das der Fall ist, ist eine Einzelfallentscheidung.
Begriffe wie Referenz und Anweisung sind eindeutig definiert, da bringt es wenig wenn du mit deinen eigenen Definitionen ankommst.

'When I use a word,' Humpty Dumpty said, in a rather scornful tone,' it means just what I choose it to mean, neither more nor less.'
 
T

Tito

Gast
maki hat gesagt.:
Hast weder das eine noch das andere verstanden Tito ;)

Sinn ergibt alles, wodurch der Code für den Entwickler lesbarer wird, wann das der Fall ist, ist eine Einzelfallentscheidung.
Begriffe wie Referenz und Anweisung sind eindeutig definiert, da bringt es wenig wenn du mit deinen eigenen Definitionen ankommst.

'When I use a word,' Humpty Dumpty said, in a rather scornful tone,' it means just what I choose it to mean, neither more nor less.'

Ja, da hast du wohl recht... Danke jedenfalls für die Infos...
 
G

Guest

Gast
Tito hat gesagt.:
Schließt sich das aus? Weise ich mit "this.re" nicht an sich auf die Objektvariable zu beziehen?

Nein du weist nichts an du verwendest.
Anweisen wäre this = dasObjektHier. Hier weist du an, dass this dasObjektHier wäre - wenn es denn gehen würde...

Einfach so this nehmen ist Verwendung und keine Anweisung.

bye Saxony
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
O Warum bekommen wir nicht die Referenz vom zurückgegebenen Objekt? Java Basics - Anfänger-Themen 4
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
C Kopie oder Referenz ? Java Basics - Anfänger-Themen 5
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
Y Pointer / Referenz - Theorie Java Basics - Anfänger-Themen 3
H Referenz Objekt aufrufen Java Basics - Anfänger-Themen 12
D Uebergabe per Referenz Java Basics - Anfänger-Themen 2
O Referenz - toString Java Basics - Anfänger-Themen 9
S This-Referenz Java Basics - Anfänger-Themen 6
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
I Referenz auf Klasse als Rückgabewert Java Basics - Anfänger-Themen 7
P Datentypen LinkedList: Kopie behält Referenz? Java Basics - Anfänger-Themen 3
J Referenz und Instanzierung Java Basics - Anfänger-Themen 25
I Erste Schritte Referenz zum Knoten davor, in einer Liste Java Basics - Anfänger-Themen 4
M Referenz geht bei Zwischenspeichern verloren (ArrayList) Java Basics - Anfänger-Themen 4
8 Referenz (Pointer, Zeiger) in Java Java Basics - Anfänger-Themen 9
O This-Referenz als Returnwert einer Methode? Java Basics - Anfänger-Themen 13
O This Referenz Java Basics - Anfänger-Themen 3
A top referenz bei queues Java Basics - Anfänger-Themen 1
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
Q Parameterübergabe - Objekt - Referenz Java Basics - Anfänger-Themen 5
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
V Frage zu Polymorphismus: Objekt der Subklasse in Referenz der Oberklasse Java Basics - Anfänger-Themen 4
T Aufgerufene Methode Inhalt der übergebenen Referenz Java Basics - Anfänger-Themen 5
B Referenz in Java Java Basics - Anfänger-Themen 5
C Referenz auf ein Objekt kopieren! Java Basics - Anfänger-Themen 2
J Methoden Referenz und Speicherplatz für Objekte reservieren Java Basics - Anfänger-Themen 2
M Wie komm ich an die Referenz eines Oberflächenelements Java Basics - Anfänger-Themen 2
A Klassenvariablen Referenz auf ein Objekt Java Basics - Anfänger-Themen 18
M Referenz Frage Java Basics - Anfänger-Themen 12
K OOP Probleme mit Objekt-Referenz in Methode Java Basics - Anfänger-Themen 6
W Die leidige Referenz-Frage Java Basics - Anfänger-Themen 9
B Arraycopy kopiert nur die Referenz?! Java Basics - Anfänger-Themen 3
S Speicheradresse auf die eine Referenz zeigt ausgeben Java Basics - Anfänger-Themen 12
E Compiler-Fehler kann Objekt-Referenz nicht erstellen Java Basics - Anfänger-Themen 3
B Referenz zu anderen Frame Java Basics - Anfänger-Themen 10
Blackskyliner Referenz ähnlicher Zugriff, aber wie? Java Basics - Anfänger-Themen 4
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
C Referenz einer bereits instanziierten Klasse während des Programmablaufs Java Basics - Anfänger-Themen 16
H Objekt holen per Referenz als String. Java Basics - Anfänger-Themen 4
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
S Datentypen Objekt Integer Referenz Java Basics - Anfänger-Themen 5
B Referenz auf Referenz Java Basics - Anfänger-Themen 3
Luk10 Problem mit Singleton bzw statischer Referenz! Java Basics - Anfänger-Themen 16
H ArrayList Zugriffe per Referenz verkürzen? Java Basics - Anfänger-Themen 9
B Static Referenz auf Non-static Feld Java Basics - Anfänger-Themen 6
Luk10 Sinn von Instanzierung ohne Referenz Java Basics - Anfänger-Themen 7
C0FFEE Referenz auf Methode übergeben Java Basics - Anfänger-Themen 2
aze NullpointerException :Null Referenz anzeigen lassen Java Basics - Anfänger-Themen 2
D Fehlen einer Referenz auf Objekt Java Basics - Anfänger-Themen 14
N this.referenz erläuterung Java Basics - Anfänger-Themen 2
K Attribut als Referenz auf Objekt Java Basics - Anfänger-Themen 8
K 3 Threads bearbeiten 1 Referenz: Ich versteh's nicht... Java Basics - Anfänger-Themen 2
P OOP-Theorie-Frage: Referenz auf Objekt Java Basics - Anfänger-Themen 27
D Referenz auf Objekt Java Basics - Anfänger-Themen 5
P Methode BigInteger-Array übergeben als Referenz Java Basics - Anfänger-Themen 6
U null-referenz Java Basics - Anfänger-Themen 26
deetee Problem mit Referenz auf Map Java Basics - Anfänger-Themen 5
G Interface referenz probleme Java Basics - Anfänger-Themen 10
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
D enum und Referenz der umgebenden Klasse Java Basics - Anfänger-Themen 2
C Referenz Java Basics - Anfänger-Themen 11
A ClassNotFoundException: Referenz nicht aktualisiert Java Basics - Anfänger-Themen 2
P Textarea aktualisieren, Referenz fehlt Java Basics - Anfänger-Themen 4
C Größe einer Referenz ? Java Basics - Anfänger-Themen 16
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G primitive Datentypen als Referenz an eine Methode übergeben Java Basics - Anfänger-Themen 2
G Wie Referenz auf Objekt übergebn Java Basics - Anfänger-Themen 8
P Objekte als Attribut: Referenz oder Kopie? Java Basics - Anfänger-Themen 3
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
S Prüfen, ob null Referenz? Java Basics - Anfänger-Themen 2
G Referenz-Problem Java Basics - Anfänger-Themen 3
J Referenz problem Java Basics - Anfänger-Themen 12
D tiefergehende Java-Referenz Java Basics - Anfänger-Themen 3
M Referenz auf Membervariable Java Basics - Anfänger-Themen 5
G Objektübergabe als Referenz bei RMI Java Basics - Anfänger-Themen 2
J referenz auf noch nicht erzeugte objekte? Java Basics - Anfänger-Themen 2
G Rückgabe einer Kopie bzw. Referenz Java Basics - Anfänger-Themen 22
M Parameter als Referenz übergeben Java Basics - Anfänger-Themen 5
F Referenz Pointer oder doch nochmal neu suchen ? Java Basics - Anfänger-Themen 2
D Unterschied zwischen Referenz auf Objekt/Instanz von Objekt Java Basics - Anfänger-Themen 9
K Referenz auf Funktion Java Basics - Anfänger-Themen 6
J Referenz auf ein Objekt Java Basics - Anfänger-Themen 2
javasdann Referenz als String ausgeben. Java Basics - Anfänger-Themen 10
B Was ist eine Referenz? Java Basics - Anfänger-Themen 6
Z Zugriff auf Attribute nach Zuweisung einer Referenz Java Basics - Anfänger-Themen 8
L Referenz vs. Kopie Java Basics - Anfänger-Themen 2
G Zeiger/Referenz auf int- Variable Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben