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.

}<br />

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

Hacker2 hck2 = new Hacker2(5);<br />

}<br />

IlkDegerVermeSirasiParametreli.java örneğini derlenirse:<br />

Gösterim-5.5:<br />

javac IlkDegerVermeSirasiParametreliAmaHatali.java<br />

AĢağıdaki derleme-anı (compile-time) hatası ile karĢılaĢılır: ()<br />

IlkDegerVermeSirasiParametreliAmaHatali.java:11: cannot<br />

resolve symbol<br />

symbol : constructor Insan2 ()<br />

location: class Insan2<br />

public ZekiInsan2(int par) {<br />

^<br />

IlkDegerVermeSirasiParametreliAmaHatali.java:14: call<br />

to super must be first statement in constructor<br />

Super(par+1); // 2. satira yaziliyor ! hata !<br />

^<br />

IlkDegerVermeSirasiParametreliAmaHatali.java:21: cannot<br />

resolve symbol<br />

symbol : constructor ZekiInsan2 ()<br />

location: class ZekiInsan2<br />

public Hacker2(int par) {<br />

^<br />

IlkDegerVermeSirasiParametreliAmaHatali.java:25: call<br />

to super must be first statement in constructor<br />

super(par+1); // 3. satira yaziliyor ! hata !<br />

^<br />

4 errors<br />

5.3. Komposizyon mu? Kalıtım mı?<br />

Yeni oluĢturduğunuz sınıfın içerisinde, daha evvelden yazılmıĢ sınıfların özelliklerinden faydalanmak<br />

istiyorsanız bunun iki yolu olduğunu belirtmiĢtik; Komposizyon ve kalıtım. Peki hangi yöntemi ne zaman<br />

tercih etmeliyiz? Komposizyon, daha evvelden yazılmıĢ sınıfların özelliklerini kullanmak için temiz bir<br />

yöntemdir. ()<br />

Örnek-5.9: Araba.java ()<br />

class ArabaMotoru {<br />

public void calis() { }<br />

public void dur() { }<br />

}<br />

class Pencere {<br />

121

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

Saved successfully!

Ooh no, something went wrong!