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 />

7<br />

Altuğ B.<br />

Altıntaş<br />

© 2004<br />

ARAYÜZLER VE DAHİLİ SINIFLAR<br />

(Interface and Inner Classes)<br />

Diğer programlama dillerinde olan çoklu kalıtım (multiple inheritance) özelliği <strong>Java</strong> programlama dilinde<br />

yoktur. <strong>Java</strong> programlama dilinde çoklu kalıtım desteğinden faydalanmak için arayüz (interface) ve dahili<br />

sınıflar (inner classes) kullanılır. ()<br />

7.1. Arayüz (Interface)<br />

Arayüzler, soyut (abstract) sınıfların bir üst modeli gibi düĢünelebilir, soyut sınıfların içerisinde hem iĢ<br />

yapan hem de hiçbir iĢ yapmayan sadece birleĢtirici rol üstlenen gövdesiz yordamlar (soyut yordamlarabstract<br />

methods) vardı. Bu birleĢtirici rol oynayan yordamlar, soyut sınıfdan (abstract class) türetilmiĢ alt<br />

sınıfların içerisinde iptal edilmeleri (override) gerektiğini geçen bölümde incelenmiĢti. Arayüzlerin<br />

içerisinde ise iĢ yapan herhangi bir yordam (method) bulunamaz; arayüzün içerisinde tamamen gövdesiz<br />

yordamlar (soyut yordamlar) bulunur. Bu açıdan bakılacak olursak, arayüzler, birleĢtirici bir rol oynamaları<br />

için tasarlanmıĢtır. Önemli bir noktayı hemen belirtelim; arayüzlere ait gövdesiz (soyut) yordamlar<br />

otomatik olarak public eriĢim belirleyicisine sahip olurlar ve sizin bunu değiĢtirme imkanınız yoktur.<br />

Aynı Ģekilde arayüzlere ait global alanlarda otomatik public eriĢim belirleyicisine sahip olurlar ek olarak,<br />

bu alanlar yine otomatik olarak final ve statik özelliği içerirler ve sizin bunlara yine müdahale etme<br />

imkanınız yoktur. ()<br />

7.1.1. Birleştiricilik<br />

Bölüm-6‘da verilen BüyükIsYeri.java örneğini, arayüzleri kullanarak baĢtan yazmadan önce, yeni UML<br />

diyagramını inceleyelim; ()<br />

160

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

Saved successfully!

Ooh no, something went wrong!