Thread View: be.comp.programming
10 messages
10 total messages
Started by Dirk
Fri, 16 Jul 2004 15:30
java this.
Author: Dirk
Date: Fri, 16 Jul 2004 15:30
Date: Fri, 16 Jul 2004 15:30
6 lines
1075 bytes
1075 bytes
Hey, Ik probeer al een tijdje in java te programmeren (mijn 1ste programmeer taal en dus ook 1ste stappen in oo). Nu vraag ik me al een tijdje af waarvoor 'this.' staat? Is dit een method vaan de object class? Waarvoor gebruikt met dit?
Re: java this.
Author: Lorenzo Dieryckx
Date: Fri, 16 Jul 2004 16:28
Date: Fri, 16 Jul 2004 16:28
79 lines
3397 bytes
3397 bytes
On Fri, 16 Jul 2004 15:30:35 GMT, Dirk <d.bollen@pandora.be> wrote:
>Hey,
>
>Ik probeer al een tijdje in java te programmeren (mijn 1ste programmeer
>taal en dus ook 1ste stappen in oo). Nu vraag ik me al een tijdje af
>waarvoor 'this.' staat? Is dit een method vaan de object class? Waarvoor
>gebruikt met dit?
'this' staat voor "de huidige instantie van van je klasse"
Dat klinkt misschien een beetje vreemd, maar een voorbeeldje maakt het direct duidelijk:
public class A
{
private String str;
public A(String str)
{
this.str = str;
}
public void printstr(String str)
{
System.out.print(this.str);
System.out.println(str);
}
}
//ergens in main:
A mya_1("hallo");
A mya_2("nog eens hallo");
mya_1.printstr(", world");
mya_2.printstr(", world");
het eerste gebruik van this zie je in de constructor:
zowel de String member als de string parameter dragen
dezelfde naam (namelijk "str")
als je zegt :
str = str;
is dat natuurlijk nogal verwarend, want welke str moet nu in welke gekopieerd worden?
daarmee zeg je expliciet "this.str = str"
wat dus wil zeggen: "kopieer de meegeleverde str in de str van de huidige instantie van deze klasse"
Het tweede voorbeeld is eigenlijk een beetje hetzelfde,
maar nu wens je twee strings af te drukken.
de eerste is de member "str" van de huidige instantie van A,
en de tweede is de str die je meegeleverd hebt toen je "printstr" opriep
als output zul je dus hebben:
hallo, world
nog eens hallo, world
de str die je meeleverd met printstr is twee keer dezelfde, maar de
membervariable str is voor beide objecten (mya_1 en mya_2) verschillend.
Als je je eerste stapjes zet in de richting van het programmeren, hoef je voorlopig
niet meer te weten. er zijn nog andere gebruiken voor "this", maar daar moet je je
nu nog niets van aantrekken, zorg er eerst maar voor dat je dit begrijpt :-)
Er kunnen eventueel foutjes staan in bovenstaand stukje code, maar dat is
omdat ik zelden of nooit in java programmeer.
Gelijkhoe, ik denk wel dat het voorbeeld duidelijk genoeg is.
Indien dat niet zo is, of indien je nog vragen hebt, moet je het
maar laten weten!
grtz,
--
Lorenzo Dieryckx
mail: lorenzopuntdieryckxatpandorapuntbe
Laatste coole gehoorde uitspraak:
"Ik wil niet dat hij in die andere bureau
zit. Voor ��n reden.... Hij zal be�nvloed
worden... door... euhm... THE DARK SIDE!"
- by sdr
Re: java this.
Author: JeroenV
Date: Sun, 18 Jul 2004 12:10
Date: Sun, 18 Jul 2004 12:10
16 lines
1342 bytes
1342 bytes
Lorenzo Dieryckx wrote:
> A mya_1("hallo");
> A mya_2("nog eens hallo");
A mya_1 = new A("hallo");
A mya_2 = new A("nog eens hallo");
> Er kunnen eventueel foutjes staan in bovenstaand stukje code, maar dat is
> omdat ik zelden of nooit in java programmeer.
Bij deze verbeterd :-)
--
Mvg, JeroenV
http://www.briachons.org/
Re: java this.
Author: Pieter Philippaerts
Date: Sun, 01 Aug 2004 23:57
Date: Sun, 01 Aug 2004 23:57
20 lines
1585 bytes
1585 bytes
"Dirk" <d.bollen@pandora.be> wrote in message
> Nu vraag ik me al een tijdje af waarvoor 'this.' staat?
'this' is een object referentie waarmee een object een referentie naar
zichzelf mee kan opvragen.
> Waarvoor gebruikt met dit?
public class SomeClass {
private int myVar;
public void myMethod(int myVar) {
this.myVar = myVar;
}
}
Zonder 'this' zou je hier een probleem hebben.
Mvg,
Pieter Philippaerts
Re: java this.
Author: Dirk
Date: Mon, 02 Aug 2004 20:00
Date: Mon, 02 Aug 2004 20:00
17 lines
1374 bytes
1374 bytes
Pieter Philippaerts wrote:
> "Dirk" <d.bollen@pandora.be> wrote in message
>> Nu vraag ik me al een tijdje af waarvoor 'this.' staat?
> public class SomeClass {
> private int myVar;
>
> public void myMethod(int myVar) {
> this.myVar = myVar;
> }
> }
> Zonder 'this' zou je hier een probleem hebben.
Omdat dit interfereert met de private MyVar die doorheen de hele class
gekend is?
Re: java this.
Author: John Bokma
Date: Mon, 02 Aug 2004 20:16
Date: Mon, 02 Aug 2004 20:16
36 lines
2099 bytes
2099 bytes
Dirk wrote:
> Pieter Philippaerts wrote:
>
>
>>"Dirk" <d.bollen@pandora.be> wrote in message
>>
>>>Nu vraag ik me al een tijdje af waarvoor 'this.' staat?
>
>
>>public class SomeClass {
>> private int myVar;
>>
>> public void myMethod(int myVar) {
>> this.myVar = myVar;
>> }
>>}
>
>>Zonder 'this' zou je hier een probleem hebben.
>
> Omdat dit interfereert met de private MyVar die doorheen de hele class
> gekend is?
Programmeren leer je zelden door raden :-D
Wat *denk* je dat er bedoelt wordt met:
myVar = myVar;
?
--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced Perl programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
Re: java this.
Author: Dirk
Date: Mon, 02 Aug 2004 20:38
Date: Mon, 02 Aug 2004 20:38
9 lines
1179 bytes
1179 bytes
John Bokma wrote: > > Wat *denk* je dat er bedoelt wordt met: > > myVar = myVar; > Wel, dat de variabele MyVar verwijst naar MyVar.
Re: java this.
Author: John Bokma
Date: Mon, 02 Aug 2004 20:50
Date: Mon, 02 Aug 2004 20:50
29 lines
1848 bytes
1848 bytes
Dirk wrote:
> John Bokma wrote:
>
>
>
>>Wat *denk* je dat er bedoelt wordt met:
>>
>>myVar = myVar;
>
> Wel, dat de variabele MyVar verwijst naar MyVar.
private int var;
public void bla(int var) {
var = var;
}
vandaar die this. Anders moet de compiler maar raden, want wat doet:
var = var;
var = 2 * var;
--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced Perl programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
Re: java this.
Author: Nitro
Date: Mon, 02 Aug 2004 23:08
Date: Mon, 02 Aug 2004 23:08
14 lines
1426 bytes
1426 bytes
> private int var;
>
> public void bla(int var) {
>
> var = var;
> }
om dit soort dingen niet over het hoofd te zien is eclipse
(een prachtige IDE voor java, maar ook C/C++, ...) ongelooflijk handig.
Als je van deze domme dingen doet zet eclipse hier een mooi geel lijntje
onder, wat nogal opvalt.
Nitro
Re: java this.
Author: John Bokma
Date: Tue, 03 Aug 2004 04:00
Date: Tue, 03 Aug 2004 04:00
22 lines
1961 bytes
1961 bytes
dffp`df.lllllll (kat..)
Nitro wrote:
>>private int var;
>>
>>public void bla(int var) {
>>
>> var = var;
>>}
>
> om dit soort dingen niet over het hoofd te zien is eclipse
> (een prachtige IDE voor java, maar ook C/C++, ...) ongelooflijk handig.
> Als je van deze domme dingen doet zet eclipse hier een mooi geel lijntje
Als var "vluchtig" is het best een legale aktie.
--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced Perl programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads