🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
10 messages
10 total messages Started by Dirk Fri, 16 Jul 2004 15:30
java this.
#2312
Author: Dirk
Date: Fri, 16 Jul 2004 15:30
6 lines
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.
#2313
Author: Lorenzo Dieryckx
Date: Fri, 16 Jul 2004 16:28
79 lines
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.
#2319
Author: JeroenV
Date: Sun, 18 Jul 2004 12:10
16 lines
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.
#2263
Author: Pieter Philippaerts
Date: Sun, 01 Aug 2004 23:57
20 lines
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.
#2265
Author: Dirk
Date: Mon, 02 Aug 2004 20:00
17 lines
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.
#2266
Author: John Bokma
Date: Mon, 02 Aug 2004 20:16
36 lines
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.
#2267
Author: Dirk
Date: Mon, 02 Aug 2004 20:38
9 lines
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.
#2268
Author: John Bokma
Date: Mon, 02 Aug 2004 20:50
29 lines
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.
#2269
Author: Nitro
Date: Mon, 02 Aug 2004 23:08
14 lines
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.
#2270
Author: John Bokma
Date: Tue, 03 Aug 2004 04:00
22 lines
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