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.

Eğer, yapılandırıcı kodu yazan kiĢi tarafından konulursa, <strong>Java</strong> varsayılan yapılandırıcı desteğini çekecektir.<br />

Bunun nedeni Ģöyledir: Eğer bir sınıfa ait herhangi bir yapılandırıcı belirtilmezse, <strong>Java</strong> devreye girip<br />

kendiliğinden varsayılan bir yapılandırıcı koyar; eğer, biz kendimize ait özel yapılandırıcılar tanımlarsak,<br />

Ģöyle demiĢ oluruz: "Ben ne yaptığımı biliyorum, lütfen karıĢma". Bu durumda olası tüm yapılandırıcılar<br />

bizim tarafımızdan yazılması gerekir. ġöyle ki:<br />

Örnek-3.7: VarsayilanYapilandiriciVersiyon2.java<br />

class Araba {<br />

int kapi_sayisi;<br />

int vites_sayisi ;<br />

public Araba(int adet) {<br />

kapi_sayisi = adet ;<br />

}<br />

}<br />

public Araba(int adet, int sayi) {<br />

kapi_sayisi = adet ;<br />

vites_sayisi = sayi ;<br />

}<br />

public class VarsayilanYapilandiriciVersiyon2 {<br />

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

Araba ar = new Araba(); // ! Hata var! Bu satır anlamlı<br />

değil; yapılandırıcısı yok<br />

Araba ar1 = new Araba(2);<br />

Araba ar2 = new Araba(4,5);<br />

}<br />

}<br />

Artık Araba sınıfına ait bir nesne oluĢturmak için parametresiz yapılandırıcıyı (default constructor)<br />

çağıramayız; böylesi bir nesne oluĢturmak isteniyorsa, artık, bu iĢlem için bir Araba sınıfına ait iki<br />

yapılandırıcıdan birisini seçip çağırmamız gerekir.<br />

3.1.3. this Anahtar Sözcüğü<br />

this anahtar sözcüğü, içinde bulunulan nesneye ait bir referans döndürür; bunun sayesinde nesnelere ait<br />

global alanlara eriĢme fırsatı bulunur. ġöyle ki:<br />

Örnek-3.8: TarihHesaplama.java<br />

public class TarihHesaplama {<br />

int gun, ay, yil;<br />

public void gunEkle(int gun) {<br />

this.gun += gun ;<br />

}<br />

public void gunuEkranaBas() {<br />

System.out.println("Gun = " + gun);<br />

}<br />

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

TarihHesaplama th = new TarihHesaplama();<br />

th.gunEkle(2); th.gunEkle(3);<br />

th.gunuEkranaBas();<br />

}<br />

}<br />

55

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

Saved successfully!

Ooh no, something went wrong!