java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 17.09.2008, 13:21   #1 (permalink)
Tito
Nicht angemeldet
 
Fachbeiträge: n/a
Standard Die this Referenz

Hallo,

ich hab einige Probleme beim verstehen der this Referenz hab mir grad http://www.galileocomputing.de/openb..._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?
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 13:23   #2 (permalink)
Premium-Benutzer
 
Benutzerbild von Wildcard
 
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
Ja, hätte gereicht. Macht man manchmal trotzdem zum Verdeutlichen.
__________________
Take back the Desktop
Wildcard ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 13:30   #3 (permalink)
Java-Forum Team
Moderator
 
Benutzerbild von SlaterB
 
Registriert seit: 13.11.2005
Fachbeiträge: 31.675
Abgegebene Danke: 0
Erhielt 2.570 Danke für 2.531 Beiträge
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
__________________
Hansa wird Meister.
SlaterB ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 13:56   #4 (permalink)
Stammbenutzer
Viertel Gigabyte
 
Registriert seit: 19.01.2007
Fachbeiträge: 2.804
Abgegebene Danke: 12
Erhielt 163 Danke für 156 Beiträge
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.
FArt ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 14:51   #5 (permalink)
Stammbenutzer
Floppy Disc
 
Benutzerbild von Saxony
 
Registriert seit: 30.01.2007
Fachbeiträge: 758
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
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
__________________
Der Computer macht nicht das was du willst, sondern das was du programmierst.
Oft sitzt der Bug auch vorm Rechner.
SaxonySoft
Saxony ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 15:37   #6 (permalink)
Benutzer
double
 
Registriert seit: 26.03.2008
Fachbeiträge: 83
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Zitat: Saxony
ich verwende beides - Parameter mit Präfix UND this.
mach ich auch so =)
xdavidx ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 23:17   #7 (permalink)
Stammbenutzer
CD-R 74
 
Benutzerbild von ARadauer
 
Registriert seit: 16.09.2006
Fachbeiträge: 6.762
Abgegebene Danke: 28
Erhielt 529 Danke für 496 Beiträge
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...
__________________
Welches ist das beste Buch für Anfänger? Das: Java von Kopf bis Fuss
Nach den ersten Schritten? Das: Der Weg zum Java-Profi
ARadauer ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 17.09.2008, 23:24   #8 (permalink)
Stammbenutzer
Megabyte
 
Registriert seit: 01.05.2008
Fachbeiträge: 2.009
Abgegebene Danke: 8
Erhielt 123 Danke für 122 Beiträge
vielleicht sinnvoll bei ner methode die 200 zeilen lang is und diverse lokale variablen (nicht zwingend alle am Anfang) deklariert .. dann erhöhts die lesbarkeit ungemein
__________________
Wer aufhört, besser zu werden, hat aufgehört, gut zu sein. (Philip Rosenthal)
diggaa1984 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 09:55   #9 (permalink)
Tito
Nicht angemeldet
 
Fachbeiträge: n/a
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?
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 09:58   #10 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Fachbeiträge: 12.754
Abgegebene Danke: 215
Erhielt 810 Danke für 721 Beiträge
Zitat: diggaa1984
vielleicht sinnvoll bei ner methode die 200 zeilen lang is und diverse lokale variablen (nicht zwingend alle am Anfang) deklariert .. dann erhöhts die lesbarkeit ungemein
Eine Methode mit 200 Zeilen gehört refactored, merkt man auch an Code in dem mittendrin Kommentare auftauchen.

Zitat:
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
Auch sind höheren Programmiersprachen dann überflüssig, schliesslich läuft opcode assembler auch "ordungsgemäß"...
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:01   #11 (permalink)
Java-Forum Team
Moderator
 
Benutzerbild von SlaterB
 
Registriert seit: 13.11.2005
Fachbeiträge: 31.675
Abgegebene Danke: 0
Erhielt 2.570 Danke für 2.531 Beiträge
@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.?
__________________
Hansa wird Meister.
SlaterB ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:03   #12 (permalink)
Nicht angemeldet
 
Fachbeiträge: n/a
Ob ich meine Variable Banane oder Apfel nenne ist kein Hinzufügen einer unnötigen Anweisung.
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:05   #13 (permalink)
Nicht angemeldet
 
Fachbeiträge: n/a
Zitat: SlaterB
@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???
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:06   #14 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Fachbeiträge: 12.754
Abgegebene Danke: 215
Erhielt 810 Danke für 721 Beiträge
this ist eine Referenz, keine Anweisung.
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:13   #15 (permalink)
Tito
Nicht angemeldet
 
Fachbeiträge: n/a
Zitat: maki
this ist eine Referenz, keine Anweisung.
Schließt sich das aus? Weise ich mit "this.re" nicht an sich auf die Objektvariable zu beziehen?
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:15   #16 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Fachbeiträge: 12.754
Abgegebene Danke: 215
Erhielt 810 Danke für 721 Beiträge
Zitat: Tito
Zitat: maki
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
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:16   #17 (permalink)
Java-Forum Team
Moderator
 
Benutzerbild von SlaterB
 
Registriert seit: 13.11.2005
Fachbeiträge: 31.675
Abgegebene Danke: 0
Erhielt 2.570 Danke für 2.531 Beiträge
führt diese Definition zu irgendetwas entscheidenden?
__________________
Hansa wird Meister.
SlaterB ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:17   #18 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Fachbeiträge: 12.754
Abgegebene Danke: 215
Erhielt 810 Danke für 721 Beiträge
Zitat: SlaterB
führt diese Definition zu irgendetwas entscheidenden?
Wenn Tito dadurch denn Unterschied erkennt schon
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 10:46   #19 (permalink)
Tito
Nicht angemeldet
 
Fachbeiträge: n/a
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.
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 18.09.2008, 11:24   #20 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Fachbeiträge: 12.754
Abgegebene Danke: 215
Erhielt 810 Danke für 721 Beiträge
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.

Zitat:
'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.'
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
this- Referenz MQue Allgemeine Java-Themen 4 20.02.2009 07:39
Referenz coffeecup Java Basics - Anfänger-Themen 11 16.12.2008 22:54
Referenz und GC? Titanpharao Allgemeine Java-Themen 16 18.09.2008 14:33
Referenz Beni Chat - NoPaste 0 23.05.2006 20:45
Klassen-Referenz MarioH Mobile Geräte 2 03.05.2006 13:35


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de