Article View: be.comp.programming
Article #2313Re: java this.
From: 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
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-mailReferences:
<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