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.

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!