Mannyak.Net  

Go Back   Mannyak.Net > Bilgisayar & Internet & Mobil Teknoloji > Programlama Diileri > Java Script


Cevapla
 
LinkBack Seçenekler Stil
  #1  
Alt 06.10.10, 01:36
 
Üyelik tarihi: Oct 2010
Mesajlar: 360
Standart Java' da this deyiminin kullanımı

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şkenlerthis.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 ;



void 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 void paint(Graphics g)

{

x = 2.5;

y = 3;

metod1(g);

}



}

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.
Digg this Post!Bookmark Post in Technorati
Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML Kodları Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 23:29.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Copyright © 2006-2011 Mannyak.Net Paylaşım ve Eğlence Platformu