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.

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!