• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Java' da this deyiminin kullanımı

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt değişkenini tanımlamak gerekir. Nesne daha tanımlanmadığindan direk olarak nesne ismini kullanamayız. Bunun yerina java this deyimini kullanır. This deyimi bilhassa sınıfa ait değişken silerinin aynısı metodda kullanılmışsa işe yarar. Bu durumda tüm sınıfa ait değişkenler this.değişken_ismi komutuyla çağırılabilir. Eçen bölümde sınıf ve metota ait değişkenleri izlerken metotvesinifdeg.java ve metotvesinifdeg1.java isimlerinde iki örnek problemi incelemiştik. Şimdi de aynıgruptan metotvesınıfdeg3.java programını inceleyelim.








import java.awt.Graphics;



import java.applet.Applet;







public class metotvesinifdeg3 extends Applet



{



//buradaki degiskenler tum sinifa aittir



double x ;



int y ;







**** metod1( Graphics g) //metoda hi‡ bir de§iŸken girmiyor



{



double x;



int y;



x=5.5;



y=6;



//tum sinifa at degiskenler this kelimesi ile birlikte kullanilabilirler



g.drawString("metod1 in dis degiskenleri this ile ulasim : x = "+this.x+" y = "+this.y,25,25);



g.drawString("metod1 in ic degiskenleri : x = "+x+" y = "+y,25,40);



}







public **** paint(Graphics g)



{



x = 2.5;



y = 3;



metod1(g);



}







}








Şekil 3.4.1 metodvesinifdeg3.java programıyla ve this deyimi yardımıyla metotun içinde yerel ve sınıfa ait değişkenlere ulaşım.







Sınıfa ait her değişkeni başına this. Getirerek kullanabiliriz. Fakat this kullanımı mutlaka gerekli değilse kullanılmaması tavsiye edilir. Örneğin yukarıdaki kurucu metot kutu








//kurucu metod kutu



Kutu(double e,double b,double y)



{



this.en=e;



this.boy=b;



this.yukseklik=y;



}








şeklinde yazılabilirdi. Fakat sınıfta aynı isimde başka değişken olmadığından bilgisayar zaten bu değişkenlerin sınıfa ait olduklarını bilmektedir ve ayrıca tekrarlamaya gerek yoktur.
 
Üst