Bir önceki Nesne Tabanlı Programlama konularında Çok Biçimlilik Polymorphism Nedir ve Örnek / Kapsülleme Encapsulation Nedir ve Örnek yazılarını paylaşmıştım.

Kalıtım nesne tabanlı programlamanın üç temel ögesinin en önemlisidir. Çünkü hkalıtım hiyerarşik sınıflandırma oluşturmayı sağlar. Konuyu biraz açmak gerekirse birbiriyle bağlantılı bir grup elemanın ortak özelliklerinden oluşan bi sınıf oluşturulabilir. Bu sınıf daha sonra yeni değişiklikler yapılarak daha özel sınıflara kalıtım yoluyla aktarılır ve her sınıf kendisinde bulunan ek özellikleri buna aktarır. Böylece uygulamanın yeni baştan yazılmasına gerek kalmaz.

Nesne tabanlı programlamada kalıtım yoluyla aktarılan sınıf, Temel sınıftır. Kalıtım işlemi yapılmış olan sınıf da oluşturulmuş (türetilmiş) sınıftır. Türetilmiş sınıf, temel sınıf tarafından tanımlanan tüm metot, özellik, operatör ve değişkenleri kalıtım yoluyla elde eder ve sadece kendisinde kullanılacak özellikleri, değişkenleri, metotları  kendisine ekler.

Kalıtımın kullanım şekli şöyledir:


Namespace Kalıtım
{
class Temel Sınıf
{
//Kodlar
}

class Mirasçı Sınıf : Temel Sınıf
{
//Eklenecek Metotlar
}
}

Bir sınıf diğer bir sınıfı kalıtım yoluyla elde ettiğinde temel sınıfın ismi, türetilmiş sınıfın ismini takip eder ve birbirlerinden : (iki nokta) ile ayrılır. : operatörü bir sınıfın, başka bir sınıfın özelliklerini devralmasını sağlar.

kalıtımsal gösterim
Kalıtımsal Gösterim

Yeni oluşturulmuş her sınıf için sadece bir temel sınıf belirtilir. Tek bir türetilmiş sınıfa birden fazla sınıf kalıtım yoluyla aktarılamaz.

Türetilmiş olan bir sınıf başka bir türetilmiş sınıfın temel sınıfı olabilir.

Kalıtımın avantajı, temel sınıf oluştuurlduktan sonra istenilen sayıda türetilmiş sınıf oluşturmaktadır.

public class Ana
    {
        public Ana()
        {
            Console.WriteLine("Ana Yapılandırıcı");
        }
        public void yazdir()
        {
            Console.WriteLine("Ana Sınıf");
        }
    }
    public class Mirasci : Ana
    {
        public Mirasci()
        {
            Console.WriteLine("Miras Yapılandırıcı");
        }
        public static void Main()
        {
            Mirasci mirasci = new Mirasci();
            mirasci.yazdir();
            Console.ReadLine();
        }
    }
kalitimsal-sinif
Örneğin çıktısı

Programda bir ana sınıf ve ana sınıftan türeyen bir mirascı sınıf olmak üzere iki sınıf oluşturulmaktadır. Program satır satır işletildiğinde, Main() metodunda mirasci adında bir üye değişken oluşturulur ve Mirasci() metoduna yönlendirilir. Mirasçı sınıfta ana sınıftan türetildiği için program akışı Ana() metoduna geçer. Ana() metodunda mesaj yazdırıldıktan sonra mirasçı sınıftaki mesaj yazdırılır. Main() metodundaki “mirasci.yazdir();” satırıyla program akışı ana sınıftaki yazdır metoduna yönlendirilerek bu metottaki mesaj yazdırılarak işlem sona erer.

 

Bir Cevap Yazın