Java this

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Pulec1337
Nováček
Nováček
Uživatelský avatar
Registrován: 15. čer 2006
Bydliště: Louny
Kontaktovat uživatele:

Java this

Příspěvek od Pulec1337 »

Dobry den,
chtel bych se zeptat jaky vyznam ma pouziti klicoveho slova this v tomto spojeni:
napr mam setter metodu:

public void setSirka(int sirka) {
if(sirka<0)return;
this.sirka = sirka; // tento zapis mi nedava smysl, this ukazuje sam na sebe
Cogito, ergo sum.
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Příspěvek od €agle »

this ukazuje na instanci tridy, ze ktere tu funkci volas. Rekneme, ze mas tridu MyClass, ktera obsahuje tebou zminovanou funkci setSirka(). Kdyz vytvoris novou instanci teto tridy, treba MyClass myInstance = new MyClass(); a zavolas myInstance.setSirka(5); tak this v teto funkci bude reprezentovat myInstance a this.sirka bude tedy stejne jako myInstance.sirka. No a jelikoz funkcni promenne maji prednost pred instancimi, pouziva pro pristup k tem tridnim prave klicove slovo this. V podstate je to takovy trik, aby parametr funkce mohl mit stejny nazev jako tridni promenna, ale ma to i sirsi vyuziti...
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
wokena
Nováček
Nováček
Registrován: 18. pro 2007

Re: Java this

Příspěvek od wokena »

Heh,asi takle:

Kód: Vybrat vše

class X {

 private int cislo;

 public void metoda() {

   cislo = 2;

   this.cislo = 2; // tento radek ma uplne stejny vyznam jako predchozi
                     
 }

}; 

// OndraSter - a že to po tom roce ještě k něčemu použije!
Odpovědět

Zpět na „Programování a web“