Basit anlatmak gerekirse Interface, diğer sınıflara yol gösteren bir yapıdır.Türkçe anlamı arayüzdür.
Kendisinden türeyen sınıfların içini doldurmak zorunda olduğu içi boş metodların olduğu yapılardır.
Kullanım Amacı
Örnek bir kod parçasında(C#) Java'da ise implements keywordu kullanılır
Kendisinden türeyen sınıfların içini doldurmak zorunda olduğu içi boş metodların olduğu yapılardır.
Kullanım Amacı
- Interface'yi implement eden sınıfın, tüm metod ve propertyleri kullanmasını zorunlu kılmaktır.
- Inheritance'de bir sınıf yalnızca tek bir sınıftan türetilebilir kuralı geçerliydi.Bir class birden çok interface'den miras alabilir. Interface aynı zamanda sınıf olarak düşünebiliriz.
Örnek bir kod parçasında(C#) Java'da ise implements keywordu kullanılır
//Interfaceler standart olarak I ile başlayarak tanımlanır. public interface IExInterface1 { void methodOne(); int toplam(); } public interface IExInterface2 { int fark(); } //Interfaceleri miras alan sınıf public class DortIslem:IExInterface1,IExInterface2 { public string mesaj; public int sonuc=0; int toplam() { return sonuc; } int fark() { return sonuc; } void methodOne() { MessageBox.Show(mesaj); } }
- Bir sınıf miras aldığı interfacelere ait bütün metodları ezmek zorundadır. Interface'lerde metodların body kısımları yoktur.Metodlar kod içermez.
- Interface'de field tanımlaması yapılamaz.
- Interface içindeki metod ve propertyler için modifier tanımlaması yapılamaz.Interface ve interface içindeki tüm metodlar abstract ve public kabul edilir.
- Instance alınamaz ve constructor içermez.
- Bir interface birden fazla classta kullanılabilir.
Interface yapısını, bir uygulama modulünün, bir cismin ya da bir canlının yeteneği olarak düşünebiliriz.
Örnek bir hikayede;
Hayvanlar aleminde birden çok kuş cinsi vardır.(Martı,penguen vb.)Bu kuşların çeşitli yeteneği vardır.Kuşlara ait ortak özelliği olduğu gibi(kanat,tüy,gaga) farklı özelliği de olabilir.Her kuş uçamaz ya da yüzemez.(Yüzme,uçma faaliyetleri kuşlar için yetenektir.) Bu yeteneklere interface denir.
Kuşlar ana class, Martı,Penguen ise Kuşlar sınıfından miras alır.
Martı - IUcabilir ve IYuzebilir interfacelerinden miras alır
Penguen - IYuzebilir interfacelerinden miras alır.
Penguen ve Martı yüzebilen kuşlardır fakat yüzebilidiği derinlikler farklıdır. Bu yüzden IYuzebilir interface'dir ve içindeki Yuzme() metodudunu kendi yeteneklerine göre override(ezebilirler) edebilirler.
Yorumlar
Yorum Gönder