CodeBlanks Logo Icon CodeBlanks

Miras temelleri

C# kursu · Orta seviye · Ders 13/116

Türetme (:) ile bir sınıftan miras almayı öğrenirsin.

Miris temelleri

Miris alma (inheritance), bir sınıfın başka bir sınıfın üyelerini devralmasıdır. C#'ta iki nokta üst üste (:) ile yazılır: class Dog : Animal { ... }.

Burada Animal temel sınıf (base class), Dog türetilmiş sınıf (derived class) olur. Dog, Animal'ın public ve protected üyelerini otomatik kazanır. Bu, kod tekrarını azaltır: ortak davranışı bir kez yazıp her alt türde yeniden kullanabilirsin.

Temel ve türetilmiş sınıf

Temel sınıf ortak özellik ve metotları taşır; türetilmiş sınıf bunlara ek kendi özel üyelerini ekler. Örneğin Animal'da Name ve Eat varsa, Dog bunlara Bark ekler.

C# tekli miras alır: bir sınıf yalnızca bir temel sınıftan miras alabilir. İki sınıftan miras gerekirse arayüz (interface) kullanılır. Türetilmiş sınıf, temel sınıfın yapıcısını doğrudan çağıramaz; base anahtar kelimesi ile zincirler.

Uygulama Animal ve Dog sınıflarını tanımla

Bir Animal temel sınıfı tanımla ve içine public string Name { get; set; } özelliğini ekle. Ardından class Dog : Animal ile türetilmiş bir sınıf tanımla ve içine public void Bark() metodu ekle (gövdede Console.WriteLine("Hav");). Main içinde new Dog() ile örnek oluştur, Name = "Karabaş" ata, Name'i ve Bark()'ı çağır.

Örnek çözümü göster
Animal olarak tanımla ve Bark metodu ekle. Main içine Dog d = new Dog(); d.Name = "Karabaş"; Console.WriteLine(d.Name); d.Bark(); yaz.
Örnek çözüm:
using System;

class Animal
{
    public string Name { get; set; }
}

class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("Hav");
    }
}

class Program
{
    static void Main()
    {
        Dog d = new Dog();
        d.Name = "Karabaş";
        Console.WriteLine(d.Name);
        d.Bark();
    }
}

Kendini test et

  1. Hangisi miras alma bildirimidir?

    • class Dog : Animal { }
    • class Dog extends Animal { }
    • class Dog -> Animal { }
    • class Dog ( Animal ) { }
    Cevabı göster

    class Dog : Animal { } — Doğru. C#'ta miras iki nokta üst üste ile yazılır.

  2. Miras bildirimini tamamla

    class Dog ____ Animal { }
    Cevabı göster
    class Dog : Animal { }
  3. Terimi rolüne eşle

    Animal
    Temel sınıf
    Dog
    Türetilmiş sınıf
    :
    Miras operatörü
    Bark
    Dog'a özel metot

Orta seviye bölümündeki tüm dersler