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.

public void cizgiCiz(int x1 , int y1 , int x2 , int<br />

y2) {<br />

// noktaCiz(x,y); // yordamını kullanarak ekrana cizgi ciz<br />

}<br />

}<br />

class CepTelefonuCizim extends Cizim {<br />

// iptal ediyor (override)<br />

public void noktaCiz(int x, int y) {<br />

// cep telefonu ekrani icin nokta ciz.....<br />

}<br />

}<br />

class MonitorCizim extends Cizim {<br />

// iptal ediyor (override)<br />

public void noktaCiz(int x, int y) {<br />

// Monitor ekrani icin nokta ciz.....<br />

}<br />

}<br />

public class CizimProgrami {<br />

public void baslat(int x1 , int y1 , int x2 , int<br />

y2) {<br />

// cep telefonunun ekranina cizgi cizmek icin<br />

Cizim c1 = new CepTelefonuCizim();<br />

c1.cizgiCiz(x1 , y1 , x2 , y2);<br />

// Monitor ekranina cizgi cizmek icin<br />

Cizim c2 = new MonitorCizim();<br />

c2.cizgiCiz(x1 , y1 , x2 , y2 );<br />

}<br />

}<br />

Cizim sınıfımızın içerisinde bulunan cizgiCiz() yordamı soyut (abstract) değildir fakat noktaCiz()<br />

yordamı soyuttur, neden? Sebebi, cizgiCiz() yordamının ekranlara çizgi çizmek için noktaCiz()<br />

yordamına ihtiyaç duymasından kaynaklanır. cizgiCiz() yordamının ihtiyaç duyduğu tek Ģey, ekran<br />

üzerinde tek bir noktanın nasıl çizileceğini bilmektir, bu bilgiler cizgiCiz() yordamına verildiği sürece<br />

sorun yaĢanmayacaktır. Ekrana tek bir noktanın nasıl çizileceğini, Cizim sınıfından türemiĢ alt sınıflar<br />

tarafından verilmektedir. ()<br />

Cizim sınıfından türemiĢ sınıflara dikkat edilirse (CepTelefonuCizim ve MonitorCizim), bu sınıfların<br />

içerisinde, ana sınıfa ait olan noktaCiz() yordamının iptal edilmiĢ (override) olduğunu görürüz. Bunun<br />

sebebi her bir ekrana (Monitörün ve Cep telefonu ekranı) ait nokta çiziminin farklı olmasından<br />

kaynaklanır. Yukarıdaki uygulamamıza ait sınıflar için UML diyagramı aĢağıdaki gibidir. ()<br />

151

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

Saved successfully!

Ooh no, something went wrong!