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.

BÖLÜM<br />

6<br />

Altuğ B.<br />

Altıntaş<br />

© 2004<br />

POLİMORFİZM<br />

Polimorfizm, nesneye yönelik programlamanın önemli kavramlarından biridir ve sözlük anlamı olarak "bir<br />

çok Ģekil" anlamına gelmektedir. Polimorfizm ile kalıtım konusu iç içedir. Kalıtım konusunu geçen bölüm<br />

incelenmiĢti; kalıtım konusunda iki taraf bulunmaktadır, ana sınıf ve bu sınıftan türeyen alt sınıf/sınıflar. ()<br />

6.1. Detaylar<br />

Alt sınıf, türetildiği ana sınıfa ait tüm özellikleri alır; yani, ana sınıf ne yapıyorsa türetilen alt sınıfta bu<br />

iĢlemlerin aynısını yapabilir ama türetilen alt sınıfların kendilerine ait bir çok yeni özelliği de olabilir.<br />

Ayrıca türetilen alt sınıfa ait nesnenin, ana sınıf tipindeki referansa bağlamanın yukarı doğru (upcasting)<br />

iĢlemi olduğu geçen bölüm incelenmiĢti. Burada anlatılanları bir örnek üzerinde açıklarsak; ()<br />

Örnek: PolimorfizmOrnekBir.java ()<br />

class Asker {<br />

public void selamVer() {<br />

System.out.println("Asker Selam verdi");<br />

}<br />

}<br />

class Er extends Asker {<br />

public void selamVer() {<br />

System.out.println("Er Selam verdi");<br />

}<br />

}<br />

class Yuzbasi extends Asker {<br />

public void selamVer() {<br />

System.out.println("Yuzbasi Selam verdi");<br />

}<br />

}<br />

public class PolimorfizmOrnekBir {<br />

public static void hazirOl(Asker a) {<br />

a.selamVer(); // ! Dikkat !<br />

}<br />

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

Asker a = new Asker();<br />

Er e = new Er();<br />

Yuzbasi y = new Yuzbasi();<br />

hazirOl(a); // yukarı cevirim ! yok !<br />

hazirOl(e); // yukarı cevirim (upcasting)<br />

hazirOl(y); // yukarı cevirim (upcasting)<br />

}<br />

}<br />

136

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

Saved successfully!

Ooh no, something went wrong!