C# da interface konusunu çalışıyordum. İnterface konusunda aşağıdaki gibi bir rnek vermiş kitap. using System; using System. Collections. Generic; using System. Linq; using System. Text; using System. Threading. Tasks; namespace ConsoleApplication1 { class Program { class Daire : IComparable { int yaricap; //Sınıfımıza ait field public Daire //Sınıfın kurucu metodu public int CompareTo(object daire1) //Arayüzden gelen metodumuz. } static void Main } } Aklıma takılan soru şu yukarıda IComparable interfaceden ben niye kalıtımla CompareTo metodunu alıyorum. Ben yukarıdaki ": IComparable" ifadesini yazmasam, CompareTo metodunu kaltımla almasam zaten bu metodu dndüreceği kodları zaten yazıyorum. Yani ": IComparable" silsem programı yeniden çalıştırsam ayni çıktıyılacağım. Aklıma takılan asıl soru şu:İnterface niçin gerekli?Niçin interfacele bir sınıfa kalıtım yapayım?

hocam interface ve abstract kavramları oop nin temellerini oluşturur. Yazılım tasarım ve mimarisi konusunda bilgilerin genişledikçe neden gerek olduğunu daha iyi anlayacaksındır. Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.

Şyle olacak, IComparable bekleyen bir metoda senin Daire sınıfından oluşturduğun nesneyi gnderdiğinde çalışacak. Kısaca senin sınıftan türetilen nesneler sorunsuzca IComparable olacak yeri gelince. Bu şekilde bir arayüzü kendi sınıfına uyarlamış olacaksın. Soyut rnekler yerine bir somut rnek üzerinden gitmeniz daha kolay olur. rneğin bir otomobil ve daha geniş bir kavram olan kara taşıtını düşünün. Kara taşıtının tüm zellikleri otomobilde mevcut . Yani kara taşıtı istediğimiz yerde nümüze otomobil getirseler gıkımız çıkmaz. Fakat kara taşıtı sadece otomobil değil, motosiklet de olabilir . Fakat otomobil ile motosiklet çok farklı denebilir . Şimdi Boğaz Kprüsündeki gişeleri düşünelim. Gişeden geçen taşıtlardan istediğimiz şey fren yapmaları. Biz tüm kara taşıtlarının fren yaptığını biliyoruz ve gişeden geçmekte olan tüm taşıtlara fren yaptırıyoruz. Bu durumda sadece kara taşıtı'na fren yap desek, otomobil de motosiklet de bizi kırmayacak. Kilit nokta ise ikisi de fren yapmasına rağmen birisinin pedala basması diğerinin gidonu sıkması gerekecek . Sonuç olarak bizim için gişeden geçmek üzere olan şey nemli değil. Biz fren yap emrini verdikten sonra kendi istedikleri gibi fren yapabilirler:) Olaylara karışmayın!