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.

Şekil-6.5. CizimProgrami.java uygulamasında kullanılan sınıflar<br />

Yukarıdaki örneğimizden çıkartılacak olan ana fikir Ģöyledir; eğer bir iĢlem değiĢik verilere ihtiyaç duyup<br />

aynı iĢi yapıyorsa, bu iĢlem soyut (abstract) sınıfın içerisinde tanımlanmalıdır. ()<br />

6.7. Yapılandırıcılar İçerisindeki İlginç Durumlar<br />

Yapılandırıcılar içerisinde ne gibi ilginç durumlar olabilir ki diyebilirsiniz? Biraz sonra göstereceğimiz<br />

örnek içerisinde polimorfizm ve geç bağlamanın devreye girmesiyle olaylar biraz karıĢacaktır. Öncelikle<br />

yapılandırıcıların ne iĢe yaradıklarını bir tekrar edelim. ()<br />

Bir nesne kullanıma geçmeden evvel bazı iĢlemler yapması gerekebilir, örneğin global olan alanlarına ilk<br />

değerlerinin verilmesi gerekebilir veya JDBC (ilerleyen bölümlerde inceleyeceğiz) bağlantısı ile veritabanı<br />

bağlanıp bazı iĢlemleri yerine getirmesi gerekebilir, örnekleri çoğaltmak mümkündür... Tüm bu iĢlemlerin<br />

yapılması için gereken yer yapılandırıcılardır. Buraya kadar sorun yoksa örneğimizi incelemeye<br />

baĢlayabiliriz. ()<br />

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

abstract class Sporcu {<br />

public abstract void calis();<br />

public Sporcu() { // yapılandırıcı yordam<br />

System.out.println("calis() cagrilmadan evvel");<br />

calis(); // ! Dikkat !<br />

System.out.println("calis() cagrildiktan sonra");<br />

}<br />

}<br />

class Futbolcu extends Sporcu {<br />

int antraman_sayisi = 4 ;<br />

public void calis() {<br />

System.out.println("Futbolcu calis() " +<br />

antraman_sayisi );<br />

}<br />

public Futbolcu() { // yapılandırıcı yordam<br />

System.out.println("Futbolcu yapilandirici" );<br />

calis();<br />

}<br />

}<br />

public class Spor {<br />

152

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

Saved successfully!

Ooh no, something went wrong!