İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Interface

Bir class'ın içermesi gereken methodları ve sabitleri belirten class benzeri yapı.

Interface'ler bütün method'ları abstract olan, bütün property'leri final static public olan bir abstract class şeklinde düşünülebilir. Genel olarak, bir class'ı belli metodları tanımlamaya zorlamak için kullanılır. Bu en çok birbirini tanımayan iki class arasında ilişki kurmakta işe yarar. Bir class bir interface'i implement edeceğini (yani bütün methodlarını tanımlayacağını) belirtmek için implements keyword'ünü kullanır.

Java'da Inheritance mekanizmasında başka bazı dillerde bulunan multiple inheritance yoktur. Yani bir class birden fazla class'ı extend edemez. Java'nın yaklaşımı, multiple inheritance'ın gereksiz ve kafakarıştırıcı, karmaşıklaştırıcı bir etkisi olduğu şeklindedir. Ancak multiple inheritance'ın kaçınılmaz olduğu yer, bir class'ın birden fazla görünüme yani arayüze (interface'e) sahip olması gerektiği zamandır. Bunun için Java'da interface'ler kullanılır. Bir class sadece bir class'ı extend edebilir ama birden fazla interface'i implement edebilir. Bu şekilde birden fazla görünüme sahip olabilir.

Bir interface'i implement etmek birden bir class'ı extend etmekten çok farklıdır. Extend edildiğinde, bir class'daki methodlar inherit edilir. Buna karşın, bir class'ın bir interface'i implement etmesiyle kazandığı hiç bir şey yoktur. Aksine interface'deki bütün methodları implement etme yükümlülüğü altına girer.