Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Java' da this deyiminin kullanımı

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

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 Alt