🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2313

Re: java this.

#2313
From: 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
Technical Details
Message-ID: <3svff0pq89ivnhkebnr3pph5u4df4gh5oe@4ax.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed.cwix.com!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail
References: <vwSJc.187073$Y_5.9163872@phobos.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,9b938d26cb386f05
X-Google-Attributes: gidfcea4,public
X-Google-Language: DUTCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed.cwix.com!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail
From: Lorenzo Dieryckx <dit.is.geen.email@adres.be>
Newsgroups: be.comp.programming
Subject: Re: java this.
Message-ID: <3svff0pq89ivnhkebnr3pph5u4df4gh5oe@4ax.com>
References: <vwSJc.187073$Y_5.9163872@phobos.telenet-ops.be>
X-Newsreader: Forte Free Agent 2.0/32.652
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Lines: 79
Date: Fri, 16 Jul 2004 16:28:01 GMT
NNTP-Posting-Host: 213.224.115.52
X-Complaints-To: abuse@telenet.be
X-Trace: phobos.telenet-ops.be 1089995281 213.224.115.52 (Fri, 16 Jul 2004 18:28:01 MEST)
NNTP-Posting-Date: Fri, 16 Jul 2004 18:28:01 MEST
Organization: Telenet Internet