C# Kalıtım Nedir ?
C# Kalıtım Nedir sorusuna bir cevap arıyorsanız dostlar doğru yerdesiniz. Bir sınıftan yeni bir sınıf oluşturma işlemine kalıtım denir. Kalıtım kullanımında hangi sınıftan kalıtım alınıyorsa o sınıfa ait metotlar ve özellikler yeni sınıfta da olur. İstenirse yeni sınıfa farklı özellik ve metotlar eklenebilir. Hayattan bildiklerimizi genişleterek örnek verecek olursak, bu her iki ebeveynin de fiziksel, psikolojik ve çeşitli genetik özellikleri ebeveynlerden çocuklarına aktardığı bir süreç olarak söyleyebiliriz yada düşünebiliriz. Kalıtım, nesneye dayalı programlamanın en önemli özelliklerinden bir tanesidir.
Kalıtım kavramları nelerdir?
Süper Class = Başka bir sınıf bir sınıftan miras alır veya türetilirse, sınıfa süper sınıf denir. Süper Class en üst sınıf ana sınıf olarak da bilinir.
Sub Class = Bir sınıf başka bir sınıftan türetilmişse, yani başka bir sınıfın değişkenlerini ve yöntemlerini miras alıyorsa, buna alt sınıf denir. Süper sınıftan miras alabilme özelliğine sahiptir ve kendine has özellikler, metotlar da ekleyebilir.
Belirteçleri Nelerdir?
- Private: Sadece tanımlandığımız sınıf içerisinden erişmek mümkündür. (Kalıtım kullanmaz.)
- Public: Her yerden erişilebilmek mümkündür. (Kalıtım kullanır.)
- Internal: Sadece bulunduğu projede erişmek mümkündür. (Kalıtım kullanılır.)
- Protected: Tanımlandığı sınıfta ve o sınıfı miras (kalıtım) alan sınıflardan erişmek mümkündür. (Kalıtım kullanır.)
Belirteçlerimizin neler olduğu hakkında biraz bilgi sahibi olduk dostlar şimdi ise avantajları nelerdir onlara bir göz atalım .
C#’ta Kalıtımın Avantajları Nelerdir?
Kalıtım yazmış olduğumuz kodun genel yapısı ile daha kolay anlaşılabilmesi için kolaylık sağlar ve kodumuzu yeniden kullanılabilirliğini sağlar bu açıdan da hem zaman kazanmamızı hem de daha pratik yolda az ve öz emek ile bize vakit kazandırır. Yazmış olduğumuz kodumuzu değiştirmek istersek te daha esnek bir yapı ile daha kolay olacaktır.
Genel kullanım ve kod yapısı
Bir adet console uygulama ekranı açmamız lazım ve bir bir süper class birde sub class açmamız lazım.
consele uygulaması kodları
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | futbolcu ronaldo = new futbolcu(); ronaldo.ÜLKE = "portekiz"; ronaldo.LİG = "Serie A"; ronaldo.TAKIM = "JUVENTUS"; ronaldo.İSİM = "Cristiano"; // TOLOVER SAYESİNDE HEPSİNİ KÜÇÜK HARF YAZDI ronaldo.SOYİSİM = "Ronaldo"; ronaldo.MEVKİ = "santrafor"; ronaldo.YAŞI = -36; // YAŞ NEGATİF OLSADA POZİTİFE DÖNDÜREBİLİYOR Console.WriteLine("ÜLKE: "+ ronaldo.ÜLKE); Console.WriteLine("LİĞ: " + ronaldo.LİG) ; Console.WriteLine("TAKIM: " + ronaldo.TAKIM); Console.WriteLine("İSİM: " + ronaldo.İSİM); Console.WriteLine("SOYİSİM: " + ronaldo.SOYİSİM); Console.WriteLine("MEVKİ: " + ronaldo.MEVKİ); Console.WriteLine("YAŞI: " + ronaldo.YAŞI); |
Yukarıda kodlarımızda kişinin kendi özellikleri ve oynadığı futbol ile ilgili bazı özellikleri verilmiştir.
Bunlardan ÜLKESİ , TAKIMI & LİGİ SÜPER CLASS OLARAK VERİLMİŞTİR.
Süper Class
1.Üst sınıfımız
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | class futbolcu:sporcu // açtıgımız yeni classlar'da kalıtım almak için iki class2ı bu şekilde yazarak alabiliriz. { private string ülke; private string takım; private string lig; public string ÜLKE { get { return ülke; } set { ülke = value.ToUpper(); } } public string TAKIM { get { return takım; } set { takım = value.ToUpper(); } } public string LİG { get { return lig; } set { lig = value.ToUpper(); } } } } |
Sub class
2.Alt sınıfımız
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | class sporcu { private string isim; private string soyisim; private int yaş; private string mevki; public string İSİM { get { return isim; } set { isim = value.ToLower(); } } public string SOYİSİM { get { return soyisim; } set { soyisim = value.ToUpper(); } //Toupper Büyük harfe çevirir } public int YAŞI { get { return yaş; } set { yaş = Math.Abs(value); } // negatifi pozitif yapar } public string MEVKİ { get { return mevki; } set { mevki = value.ToUpper(); } } } } |
Class sporcu bizim alt sınıfımız ve bunu Class futbolcu sınıfı ile birleştiriyoruz.
Ekran Çıktısı

1 2 3 4 5 6 7 | ÜLKE: PORTEKİZ LİĞ: SERİE A TAKIM: JUVENTUS İSİM: cristiano SOYİSİM: RONALDO MEVKİ: SANTRAFOR YAŞI: 36 |
TEŞEKKÜRLER…
Tam aradığım yazi