C# Software Development

Inheritance Nedir?

Written by Burak Yılmaz

Bu yazımızda OOP’un olmazsa olmazlarından kalıtım(Inheritance) konusunu işleyeceğiz.

Inheritance, ortak özellikleri olan nesneleri gruplayıp onlara bir isim verme ve benzer özelliklere sahip diğer nesneleri bu nesneden türetme işlemidir. Miras alınan sınıf base class olarak isimlendirilirken, bu sınıftan türeyen sınıfa derivered class denilir.

Şimdi arabaları düşünelim. Her birinin markası, modeli, maximum hızı vs. gibi bir çok ortak özelliği vardır. Sokakta gördüğümüz Mercedes de bir arabadır, Fiat Albea da bir arabadır. Hee demek ki Araba nesnemiz bizim base classımız olacak. Mercedes veya Albea da bu sınıftan türeyen sınıflar olacak. Şimdi bu örneğin kodunu yazalım.

    public class Araba
    {
        public string Marka { get; set; }
        public string Model { get; set; }
        public int MaximumHiz { get; set; }
    }

Araba sınıfını özellikleri ile beraber tanımladık.  Şimdi bu sınıftan bir nesne oluşturup, karşımıza çıkan özellikleri görelim :

Araba sınıfı içerisinde tanımladığımız 3 tane özelliği de burada görüyoruz. Şimdi bu araba sınıfından türettiğimiz Mercedes sınıfını tanımlayalım ve diğer arabalar ile ortak olmayan sadece Mercedes markasında olan iki özelliği de bu sınıfa ekleyelim.

    public class Mercedes : Araba
    {
        public string ArkaKameraMarkasi { get; set; }
        public bool LedFarVarMi { get; set; }
    }

Mercedes sınıfını Araba sınıfından inherit ettik. Bakalım yeni bir nesnesi tanımladığımızda karşımızda hangi özellikler gelecek :

Gördüğünüz üzere hem Araba sınıfında hem de ondan türettiğimiz Mercedes sınıfında tanımladığımız tüm özellikleri gördük. Özetle; türetilen her bir sınıf, türetildiği sınıfın özelliklerini miras alır. Örnek üzerinden bakarsak; her arabanın Marka,Model, Maximum Hız özelliği vardır fakat sadece Mercedeslerin Arka Kamerası ve Led Farı vardır.

About the author

Burak Yılmaz