C# dersleri ve örnekleri üzerine blog sayfamız
C# ta Interface (Arayüzler)
C# ‘ta 5 ana tipten biri interface dir. Interfaceler içerisine bir kod içermeyen abstract üyelerden oluşan, erişim belirleyicisi olmayan kendisinden türeyenlere rehberlik eden, arayüzün sahip olduğu tüm davranışları kendisini çağıranları yönlendirip kılavuzluk edendir. - Tanımlanırken interface ile başlanılır. Genelikle baş harfi I ile başlanılır.Erişim belirleyici almazlar ama kendiliğinden publicdirler. - Bilinçsiz olarak abstractırlar. Bilinçli olarak abstract üyelere işaret edilmez. - Interfacelerin içerisinde metot özellik, olay ve temsilci bulunabilir. - Arayüzdeki metodları static olarak belirtemeyiz. - Field içermezler. - Bir arayüzden sınıf, yapı yada başka bir arayüz türetilebilir.
C# Polymorphism ( Çok Biçimlilik )
Polimorphism base class ta var olan bir özelliğin türemiş classa uygun şekilde dağıtılmasına denir. Sınıflarımız arasında benzer tanımlamalar yapabiliriz bunun için sınıf içinde metodu virtual olarak tanımlayıp metodun gövdesi kalıtılmış sınıf içerisinde override anahtar sözcüğüyle ezilebilir. Bir davranışı objenin ihtiyacına göre Overide ediyoruz. Aşağıdaki örnekte Antivirüs programların çalışma şeklini ele aldım.
C# ABSTRACT (Soyut Tipler)
Abstract classlar nesnesi türetilmeyip, classların ortak özelliklerini kendisinde toplar. Önüne abstract yazarak soyutlaştırmış olup diğer classlara extend hakkı vermiş oluruz. Burada maksat aynı şeyleri her birini tekrar tekrar yazmamış olmak. Abstract class, sadece başka class'lar kendisini extend etsin diye yaratılmıştır. Tek başlarına yaratılamaz ve kullanılamaz. - Abstract tipler soyut bir tiptir. - Abstract sınıfların nesnelerini tanımlayamayız. - Abstract tipler base sınıf olma görevi görürler. - Abstract üyeler yalnızca abstract tipler içerisinde tanımlanabilirler. - Abstract üyeler kalıtılan sınıf içerisinde ezilmek zorundadırlar. Çünkü base'de tanımlı bir iş mantıkları yoktur. - Abstract tipler içerisinde non-abstract üyeler bulunabilir. - Abstract metodlar private tanımlanmazlar, public veya protected olurlar.
C# Static Kavramı
Beli bir üyeyi referansta bulunmadan kendi başına çağırmak mümkündür. Bunu gerçekleştirebilmek için tanımlanacak olanın başına Static koymamız yeterlidir. Bir üyeyi static olarak tanımlandığımızda üyeyi kendi sınıfından örneklenmeye gerek kalmadan kullanabiliriz. Staticler Belleğin stack veya heap bölgesinde olmayıp static bölgesinde ikamet ederler. Onun icin nesne örneklendiğinde değil de Sınıf ilk kullanıldığında belleğe çıkarlar.
C# CONST (Sabit Veri Tanımlamak) ile Read Only Kavramı
C#'da sabit veri saklayan değişken tanımlamak istediğimizde const kullanırız. Const alanlar değerlerini tanımlandıklandıkları anda almak zorundadırlar ve staticdirler. Static olduklarından nesne örneğinden bağımsız şekilde belleğin static bölgesinde yer alırlar. Tanımlandıktan sonra değişkenin değeri belirtilip, daha sonradan değiştiremeyiz. Const'u lokal değişken olarak ve farklı sınıfa ait değişken özelliği olarak da tanımlayabiliriz.