Interface

      Yorum yok Interface

Türkçedeki karşılığı arayüz olan interface’i sürekli kullanmak istediğimiz metot ve property’ler için bir zorlayıcı bir şablon olarak kullanıyoruz. Temelinde Interface’de tanımladığımız property ve metotların hepsini kullanabilirim o halde yazmalıyım düşüncesi yatar.

Interface’lerin özellikleri şu şekildedir;

  • Acces Modifiers(Erişim Belirleyicileri) kullanılmaz.
  • Instance’ı alınmaz (yani türetilemez (Örnek:Nesne isim = new Nesne() şeklinde kullanılmaz.))
  • Metotları içinde kod bulunduramaz, yani propertyler ve metotlar sadece tanımlanabilir.
  • Birden fazla interface tek bir class’a kalıtımda bulunabilir.
  • Interface türetilecekse sadece bir interface’den türetilebilir.
  • Static olarak tanımlanamaz.
  • interface’ler classlara implement edildiğinde tüm metotlar ezilmelidir.
  • Bir zorunluluk değil fakat kullanım için I harfi ile tanımlanırlar.

Bir örnekle açıklamamıza devam edelim;

Uygulamamıza sağ tıklayıp Add > New Item diyerek açılan pencereden Interface’i seçip Add diyerek ekliyoruz.

Bir ürün interface i tanımlayıp tanımladığımız kısımlardada zaten olması gereken marka, model, fiyat property’leri ve kdv hesaplama ile ekrana yazdırma metotlarını tanımlıyoruz.

farklı bir interface tanımlamak için yukarıdaki yolla dilerseniz yeni bir interface ekleyebilirsiniz ya da altında aşağıdaki şekilde yazabilirsiniz.  Yeni interface’de renk ve garanti süresi alanlarını ekliyoruz.

şimdi araba isminde bir class ekliyoruz  ve class Araba : IUrun  şeklinde ” : ”  koyup sağına interface’i yazıyoruz. Fakat bunu yapmak yeterli kalmıyor ve visual studio interface’in altını çiziyor cünkü yazının başında belirttiğimiz gibi zorunlu olarak kıldığımız alanları kullanmadık.

altı çizili interface üzerine geldiğimizde bunu daha iyi görebiliriz. class’ a interface üyesini uygulamadığımızı belirtiyor.
Bunun için elle tek tek tüm propertyleri yazabiliriz ya da soldaki ampul işaretiyle veya Ctrl + .  kısayoluna basarak implement interface diyebiliriz.

Yukarıdaki şekilde gelecek olan property ve metotların içinde varsayılan olarak  throw new NotImplementedException(); kısmını siliyoruz. yoksa kullanmadığımız anlarda ekrana hata fırlatıcaktır.

Aşağıdaki şekilde diğer interface’i de ekleyebilirsiniz. propertyleride yine aşağıdaki gibi daha okunabiilir yapabilirsiniz.  Kdv hesaplamasını ve ekrana yazdırma methodlarını ben örnek olması açısından aşağıdaki gibi doldurdum.

interface’ i implement ettikten sonra simdi main method içinde çağırıp içini dolduruyoruz.

ekran çıktısı aşağıdaki gibi olacaktır;

Aynı interface’i farklı yerde kullanımını görmek için birde telefon class’ı ekliyorum aynı işlemleri tekrarlayıp aşağıdaki gibi tanımlamamı yapıyorum.  Busefer sadece bir interface ekledik.

main method içinde yine instance alıp verilerimizi giriyoruz.

Çalıştırdığımızda  ekrana gelen çıktı ;

 

Konu ile ilgili örnek uygulamayı burdan indirebilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir