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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!