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:
"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:
Ş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:
Personel sınıfımızdan da bir instance (örnek kopya) alalım ve sınıfın üyelerini çağıralım:
Ş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:
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:
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 :)
Ö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.