"Enter"a basıp içeriğe geçin

C# Kalıtım (Inheritence) Nedir, Nasıl Kullanılır?

Merhaba, yazıda C# kalıtım (inheritance) konusunu anlatacağım. Inheritance, nesne yönelimli programlamanın temel kavramlarından biridir ve bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını devralmasını sağlar. Bu sayede kod tekrarından kaçınabilir, kodun okunabilirliğini ve bakımını kolaylaştırabilir, ortak işlevselliği tek bir yerde toplayabilir ve kodun genişletilebilirliğini artırabiliriz.

Inheritance Nasıl Kullanılır?

C# dilinde inheritance kullanmak için iki tür sınıf tanımlamamız gerekir: base class (temel sınıf) ve derived class (türetilmiş sınıf). Base class, diğer sınıflara özelliklerini ve davranışlarını aktaran sınıftır. Derived class ise base class’tan özelliklerini ve davranışlarını alan sınıftır. Bir derived class, base class’ın tüm üyelerine (alanlar, özellikler, metotlar, vb.) erişebilir, ancak base class, derived class’ın üyelerine erişemez. Bir derived class, base class’ın üyelerini değiştirebilir veya yeni üyeler ekleyebilir.

Inheritance kullanmak için derived class’ı tanımlarken base class’ın adını iki nokta üst üste (:) işareti ile belirtmemiz gerekir. Örneğin, aşağıdaki kodda Person adında bir base class ve Student adında bir derived class tanımladık.

class Person {
    public string Name { get; set; }
    public int Age { get; set; }

    public void Greet() {
        Console.WriteLine("Hello, my name is " + Name);
    }
}

class Student : Person {
    public string School { get; set; }
    public double GPA { get; set; }

    public void Study() {
        Console.WriteLine(Name + " is studying at " + School);
    }
}

Bu kodda Student sınıfı Person sınıfından türediği için Name, Age ve Greet() üyelerine sahiptir. Ayrıca School, GPA ve Study() üyelerini de kendine özgü olarak tanımlamıştır. Bu şekilde Student sınıfı Person sınıfının özelliklerini genişletmiştir.

Bu yazıda C# dilinde inheritance konusunu anlattım. Umarım yararlı olmuştur. Yeni başlayanlar için önemli bir konu olduğunu düşünüyorum. Soru veya görüşlerinizi yorumlarda paylaşabilirsiniz.

C# ile ilgili diğer yazılarım için: C# – Bizneyapiyoruzki

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.