Java Programlama

Arayüz (Interface)

Bir sınıf oluşturduktan sonra, o sınıfa ait bir nesne tanımladığımızda, bu nesne yoluyla kullandığımız sınıf içindeki metotlar nesnenin arayüzü olarak değerlendirilebilir.

Arayüz, içinde sadece metotların bildiriminin yapıldığı, başka bir ifade ile içinde uygulama kodları yer almayan bir yapıdır.

Bir arayüz tanımlamak için interface ifadesi, bir arayüzü kullanmak için ise, sınıf bildirimi ile birlikte implements ifadesi kullanılır. Arayüzlerde sınıflara benzer bir şekilde tanımlanır.

public interface personel {
  /* Metod bildirimleri (Kod içermez) */ 
  void setBilgi(String adi);
  String getBilgi(void);
}

Yukarıda tanımlanan arayüzü kullanmak için yapılan sınıf bildirimi ise aşağıdaki şekilde yapılacaktır:

public class ogrenci implements personel {
  String adi;
  /* Kullanılan arayüzde yer alan metodlar için kod */ 
  void setBilgi(String cadi) {
    adi = cadi;
  }
  
  String getBilgi(void) {
    return adi;  
  }
}

Bir sınıf bir arayüzü kullandığında, arayüz içinde bildirimi yapılmış tüm metotların sınıf içinde kodları tanımlanmalıdır.

Bir arayüz içinde, sadece sabitler ve metod bildirimleri yer alır. Metotlar için herhangi bir kod oluşturulmaz. Arayüzlerin bir kopyası oluşturulmaz, sadece bir sınıf tarafından kullanılabilir veya bu arayüzden diğer arayüzler türetilebilir.

Arayüzler içindeki metotların sadece genel yapısını gösteren ve noktalı virgül işareti ile sonra eren bildirimleri yer alır. Metod içindeki kodlar yer almaz.

Bir arayüzü kullanmak için, bu arayüzü kullanacak bir sınıf oluşturmanız gerekir. Arayüzü kullanacak bir sınıf tanımladığınızda, arayüz içinde bildirimi yapılmış tüm metotlar için sınıf nesnesi içinde bir kod oluşturma olanağı sağlanır.

Arayüzler sınıflar ile birlikte kullanılırlar, ancak sınıfların bir parçası değildir. Java programlama dilinde, bir sınıf sadece bir ana sınıftan türetilebilir, ancak birden fazla arayüz kullanabilir.