C# - Interface Nedir ?

    Interfaceler, class veya struct gibi türler için oluşturulmuş modellerdir. Sınıflar değişkenleri, özellikleri, olayları, metotları ve indeksleyicileri tanımlar ve içeriklerini oluşturur, arayüzler ise bir sınıfın temelde hangi üyelerden oluşacağını belirleyen bir nevi şablon yapılarıdır. Bu sayede oluşturulacak sınıflara öncülük edilir ve içermeleri gereken üyelerin ne olacağının standardı belirlenir.

    Genelde büyük ölçekli projelerde önem kazanmaktadırlar. Arayüzleri interface anahtar sözcüğü ile tanımlarız. Ara birimleri sınıflar üzerinde uygulamak için ise “:” işareti kullanılır ve geleneksel olarak arabirim isimleri “I” harfi ile başlar, tabi bu bir zorunluluk değildir. Fakat bu şekilde kullanılması evrensel olarak kabul edilir.

    Interface ile abstract classlar birbirine oldukça benzerler. Interface bize şunu sağlıyor aslında, kendi içinde belli kuralların tanımlanmasını sağlıyor ve bunu uygulayan classlar içinde bu kuralların bir referans edilmesini sağlıyor. Aksi durumda bu interface’i uygulayan class bu şartları sağlamaz ise program derlenmiyor. Aynı abstract classlarda olduğu gibi metotlar, özellikler, indexerlar, değişkenler hepsinin sadece tanıtımı yani başlığı yazılıyor, gövdesi boş bırakılıyor. Daha sonra bu interface üzerinden implement edilen classlarda bu üyeler aynı şekilde tanımlanıyor ve gövdeleri burada dolduruluyor. Peki abstract classlardan buradaki farkı ne oluyor? Normalde classlar yalnızca bir classdan miras alabilir ama interface ile bir class bir veya birden fazla interfaceden kaılıtım alabiliyor.

    Daha önce belirttiğim gibi içleri doldurulmadan bir interface içinde property, event (olay), method, indexer, temsilci (delagate) gibi üyeler tanımlanabilir fakat constructor, destructor ve operator overloading gibi işlemler olamaz. Ayrıca bir interface içinde static metotlar veya static değişkenler tanımlanamaz. Interfaceler implement edildiğinde default olarak public olarak tanımlanmaktadırlar.

İzleme 414
Etiketler : interface c software

Gönderiye yorum yapabilmek için giriş yapmanız gerekmektedir! Giriş Yap