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.

class Kitap {<br />

public int sayfaSayisiOgren() {<br />

System.out.println("Kitap - sayfaSayisiOgren() ");<br />

return 440;<br />

}<br />

public double fiyatOgren() {<br />

System.out.println("Kitap - fiyatOgren() ");<br />

return 2500000 ;<br />

}<br />

}<br />

public String yazarIsmiOgren() {<br />

System.out.println("Kitap - yazarIsmiOgren() ");<br />

return "xy";<br />

}<br />

class Roman extends Kitap {<br />

}<br />

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

Roman r = new Roman();<br />

int sayfasayisi = r.sayfaSayisiOgren();<br />

double fiyat = r.fiyatOgren();<br />

String yazar = r.yazarIsmiOgren();<br />

}<br />

Uygulamamızı javac KitapEvi.java komutu ile derledikten sonra, java Roman komutunu<br />

çalıĢtırdığımızda, uygulamamızın çıktısı aĢağıdaki gibi olur; ()<br />

Kitap - sayfaSayisiOgren()<br />

Kitap - fiyatOgren()<br />

Kitap - yazarIsmiOgren()<br />

Roman sınıfının içerisinde sayfaSayisiOgren(), fiyatOgren(), yazar-IsmiOgren()<br />

yordamları olmamasına rağmen çağırabildik. Bunun sebebinin kalıtım olduğu biliyoruz. Türeyen sınıf,<br />

türediği sınıfa ait global alanları (statik veya değil) ve yordamları (statik veya değil) kullanabilir. Tabii<br />

geçen bölümden hatırlayacağız üzere, ana sınıfa ait private eriĢim belirleyicisine sahip olan alanlara ve<br />

yordamlara, türeyen alt sınıf tarafından kesinlikle eriĢilemez. Aynı Ģekilde türeyen alt sınıf, türetildiği ana<br />

sınıf ile aynı paket içerisinde değilse, ana sınıfa ait friendly eriĢim belirleyicisine sahip olan alanlara ve<br />

yordamlara eriĢemez, sadece protected eriĢim belirleyicisine sahip olan alanlara ve yordamlara<br />

eriĢebilir. ()<br />

KitapEvi.java örneğimizde Roman sınıfı da her özelliğini, kendisinin ana sınıfı olan Kitap sınıfından<br />

kalıtım yoluyla almıĢtır. Peki Ģimdi Roman sınıfının içerisinde sayfaSayisiOgren() ve<br />

fiyatOgren() adında iki yordam oluĢturulabilir mi? Eğer oluĢturulursa nasıl etkiler meydana<br />

gelir? Aynı örneğin ikinci bir versiyonunu yazılırsa, ()<br />

Örnek-5.11: KitapEvi2.java ()<br />

class Kitap2 {<br />

public int sayfaSayisiOgren() {<br />

123

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

Saved successfully!

Ooh no, something went wrong!