Miras temelleri
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
-
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.
-
Miras bildirimini tamamla
class Dog ____ Animal { }Cevabı göster
class Dog : Animal { } -
Terimi rolüne eşle
- Animal
- Temel sınıf
- Dog
- Türetilmiş sınıf
- :
- Miras operatörü
- Bark
- Dog'a özel metot