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.

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!