C# Kalıtım (Inheritance) Yapısı

Kalıtım, bir sınıfın özelliklerini ve metodlarını başka bir sınıfa devretmesidir. Bu sayede ortak özellikleri tekrar tekrar yazmak yerine, bir "Üst Sınıf" (Base Class) oluşturup diğer sınıfların ondan miras almasını sağlarız.

Kalıtımın Faydaları
  • Kod Tekrarını Önler: Ortak kodlar tek merkezde toplanır.
  • Bakım Kolaylığı: Üst sınıfta yapılan bir değişiklik tüm alt sınıflara yansır.
  • Hiyerarşi Kurar: Nesneler arasında mantıksal bir ilişki oluşturur (Örn: Köpek bir Hayvandır).

1) Kalıtım Nasıl Uygulanır?

C#'ta miras alma işlemi iki nokta : sembolü ile yapılır.

C# Inheritance Example
// Üst Sınıf (Base Class)
public class Memeli {
    public string Tur { get; set; }
    public void Beslen() {
        Console.WriteLine(Tur + " besleniyor...");
    }
}

// Alt Sınıf (Derived Class)
public class Kedi : Memeli {
    public void Miyavla() {
        Console.WriteLine("Miyav!");
    }
}

// Kullanımı:
Kedi k = new Kedi();
k.Tur = "Van Kedisi"; // Miras alınan özellik
k.Beslen();           // Miras alınan metod
k.Miyavla();          // Kendi metodu

2) "base" Anahtar Kelimesi

Alt sınıfın içinde, üst sınıftaki bir metoda veya yapıcı metoda (constructor) erişmek için base kelimesi kullanılır. Özellikle miras alınan sınıfın yapıcı metoduna veri göndermek için çok kritiktir.

public class Araba : Tasit {
    public Araba(string marka) : base(marka) {
        // Üst sınıfın yapıcı metoduna marka bilgisini gönderdik
    }
}
⚠️ Önemli Kural: C#'ta bir sınıf sadece tek bir sınıftan miras alabilir. Birden fazla sınıftan kalıtım alamazsınız (Multiple Inheritance yoktur). Ancak birden fazla arayüzü (Interface) uygulayabilirsiniz.

Özet

  • Kalıtım, nesneler arasında "is-a" (biridir) ilişkisi kurar (Kedi bir hayvandır).
  • sealed anahtar kelimesi ile bir sınıfın miras alınmasını engelleyebilirsiniz.
  • Tüm sınıflar gizli olarak System.Object sınıfından türetilir.