Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

C# Kalıtım (Inheritance) Nedir ve Nasıl Kullanılır


C# meraklısı yazılım geliştiricilere selamlar :)

C# ile nesne tabanlı programlama konusunu öğrendiğimiz bugünlerde OOP'nin can damarı denilebilecek olan inheritance (kalıtım) konusunu öğreneceğiz.

Kalıtım konusunu biraz açarsak genel günlük hayatımızdaki ailenizin size bıraktığı miraslar gibi düşünebilirsiniz,örneğin babanız size güzel bir isim vermişse o size ait bir özelliktir.Tabi programcı olarak düşünürsek "isim" adında bir property'ye sahip bir sınıfsınız diyebiliriz :)

Gayet açık ve kolay anlaşılabilir bir şekilde kalıtımı öğrendiğimize göre konuya tam gaz devam edebiliriz...

Inheritance bir sınıfın kendi özellikleri ve metotlarının yanı sıra kalıtım aldığı base (taban-kalıtım veren) sınıfın özellik ve metotlarına da sahip olabilmesidir,ancak kalıtım alan sınıf herhangi bir özellik veya metoda sahip olmasa da olur yeter ki üst sınıftan birşeyleri kalıtım alsın.

Bu kadar teorik bilgiden sonra biraz pratiğe geçerek konuya devam edelim;öncelikle Visual Studio'yu açıp C# programlama dilinde yeni bir Windows Form uygulaması oluşturalım ve daha önce öğrendiğimiz gibi bir sınıf
oluşturalım:

c-sharp-class

"Insan" isimli sınıfımıza gerçek bir insana ait olabilecek temel özellikleri property ve metotlar halinde yazdık.Şimdi bu sınıfımızdan new anahtar sözcüğüyle formumuzun load eventinde instance alalım ve sınıfımızın üyelerini çağıralım:

c#-instance

Şimdide "Personel" isimli bir sınıf oluşturalım ancak bu defa bir insana ait olabilecek özellikler dışında departmanı,amiri ve işe giriş tarihini tutan bir sınıf oluşturalım:

c#-sınıf

Personel sınıfımızdan da bir instance (örnek kopya) alalım ve sınıfın üyelerini çağıralım:

c#-örnek-kopya

Şimdi diyoruz ki; personel bir insan olduğuna göre insan özelliklerine de sahip olabilmeli,ee şimdi insan sınıfına yazdığımız property ve metotları yeniden mi yazacağız?

Tabiki hayır,bu özellikleri yeniden yazmak yerine "Insan" isimli base sınıfımızdan kalıtım alarak insani özellikleri devralacağız.Bunun için sınıfımızın adının yanına iki nokta (:) koyarak kalıtım almak istediğimiz sınıfın adını yazıyoruz:

c#-kalıtım

Personel isimli sınıfımız artık derived (kalıtım alan) class,Insan isimli sınıfımız ise base class (kalıtım veren) sınıf olduğuna göre personel sınıfımızdan oluşturduğumuz instance'a nokta koyarak insan özelliklerini de devraldığını görüyoruz:

c#-inheritance

Base ve derived class kavramlarını aklınızın bir köşesine mutlaka yazın ileride sık sık duymaya devam edeceksiniz ;)

Inheritance konusuyla ilgili bilmemiz gereken noktalardan birisi kalıtım alan bir sınıf yalnızca bir defalığına kalıtım alır.

C# Inheritance konusunu böylece öğrendiğimize göre bir sonraki makalemizde yep yeni bir object orianted programming konusunda görüşmek üzere hoşçakalın :)

1 Yorum:

  1. noah
    11/6/2014

    Önceki yazılarınıza gönderme yaparak konu anlatımı yaparsanız daha verimli olacağını düşünüyorum. Sonuçta derslerinizin sürekli takipçisi olmayanlar da derslerinizden faydalanmaktadırlar. Emeğinizi paylaştığınız için teşekkürler.

Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu