selam,
asagidaki linkten de java'ya hizli bir giris yapabilirsin, genel konulardan hizlica bahseden bir ebook. interface veya oop konusuyla ilgili degil tabii, java anlatiyor sadece ama isine yarayabilir.
http://www.moldibi.com/download/jbook.zipBir sure sonra silecem dosyayi, ileride bakanlar icin broken olabilir link. bilginize.
Interface'den cok basitce bahsedecek olursak, belirli class gruplarinin ortak ozelliklerinin tanimi diyebiliriz.
ornegin, tasit interface'in olsun. araba, ucak, bisiklet class'larin bu interface'i destekler (bunun anlami, bu interface'in icindeki tum metodlari/ozellikleri barindirmak "zorundadirlar". ancak her bir class bunlari farkli implemente etmis olabilir, o yonuyle interface icerikten tamamen bagimsizdir.) objelerin de murat124, boing747 vb. olur.
interface'lerin bu nedenle cok iyi tasarlanmasi gerekir. soyle derler "bi interface yazdiysan sonsuza dek onunla yasaman gerekir". cunku ona bagli onlarca class olabilir. tabii sadece kendi yazdigin bi projede cok onemli gorunmeyebilir, ama senin interfacelerini baskalari da projelerinde kullaniyorsa (bi ekip ornegin) o durumda interaface'de bi degisiklik yapman gerekirse yeni bir interface olusturman gerekir.
Bu yuzden ornegin microsoft'un apilerinde Ixxx ve Ixxx2, IxxxEx gibi interfaceler olur. Ixxx2'yi destekleyen classlar Ixxx'i destekler, ama yeni ozellikleri de olabilir.
burada tabii zaten classlari ben yaziyorum neyin ne oldugunu biliyorum interface'e niye ihtiyacim olsun diyebilirsin. bi noktaya kadar bu dogrudur. ancak ornegin senin bir fonksiyonuna parametre olarak bir obje geldiginde o objenin ne menem bisey oldugunu bilmek isteyebilir ve ona gore farkli isler yapmak isteyebilirsin. ornegin, obje tasit interface'sini destekliyorsa "ilerle" metodunu cagir diyebilirsin. ya da parametrenin taniminda "bu arguman tasit interface'ini destekleyecek" diye kisit koyabilirsin.
allah cezami vermesin kisa bisey yazacaktim dalmisim. kusura bakmayin
ozetle budur.