06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

void sec() { /* ... */ }<br />

...<br />

void cekirdeginiCikar() { sec(); /* ... */ }<br />

}<br />

Bir yordamın içerisinde diğer yordamı çağırmak gayet basit ve açıktır ama sahne arkasında derleyici,<br />

çağrılan bu yordamın önüne this anahtar kelimesini gizlice yerleĢtirir: yani, fazladan this.sec()<br />

denilmesinin fazla bir anlamı yoktur.<br />

AĢağıdaki örnek this anahtar kelimesinin, içinde bulunduğu nesneye ait nasıl bir referansın alındığını çok<br />

net bir biçimde göstermektedir.<br />

Örnek-3.10: Yumurta.java<br />

public class Yumurta {<br />

int toplam_yumurta_sayisi = 0;<br />

Yumurta sepeteKoy() {<br />

toplam_yumurta_sayisi++;<br />

return this;<br />

}<br />

void goster() {<br />

System.out.println("toplam_yumurta_sayisi = "<br />

+ toplam_yumurta_sayisi);<br />

}<br />

}<br />

public static void main(String[] args) {<br />

Yumurta y = new Yumurta();<br />

y.sepeteKoy().sepeteKoy().sepeteKoy().goster();<br />

}<br />

sepeteKoy() yordamı Yumurta sınıfı tipinde değer geri döndürmektedir. return this diyerek,<br />

oluĢturulmuĢ olan Yumurta nesnenin kendisine ait bir referans geri döndürülmektedir. sepeteKoy()<br />

yordamı her çağrıldığında Yumurta nesnesine ait, toplam_yumurta_sayisi global alanın değeri bir<br />

artmaktadır. Burada dikkat edilmesi gereken husus, this anahtar kelimesi ancak nesnelere ait olan<br />

yordamlar içinde kullanılabilir. Nesnelere ait olan yordamlar ve statik yordamlar biraz sonra detaylı bir<br />

Ģekilde incelenecektir. Uygulama sonucu aĢağıdaki gibi olur:<br />

toplam_yumurta_sayisi = 3<br />

Bir Yapılandırıcıdan Diğer Bir Yapılandırıcıyı Çağırmak<br />

Bir yapılandırıcıdan diğerini çağırmak this anahtar kelimesi ile mümkündür.<br />

Örnek-3.11: Tost.java<br />

public class Tost {<br />

int sayi ;<br />

String malzeme ;<br />

Public Tost() {<br />

this(5);<br />

// this(5,"sucuklu"); !Hata!-iki this kullanılamaz<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!