Son Haberler
Anasayfa / Yazılım / C# / Inheritence – Miras Alma (Kalıtım)

Inheritence – Miras Alma (Kalıtım)

Inheritence nesne yönelimli programlamanın en önemli özelliklerinden biridir, miras alma yolu ile sınıflar birbirinden türetilebilir. Yani mevcut sınıflardan yeni bir sınıf üretme şekli olarak tanımlanabilir.  Bu işlemde, türeyen sınıflar derived class (türemiş sınıf), kendisinden yeni sınıfların oluşturulduğu sınıflara ise base class (temel sınıf) adı verilir.

Türeyen sınıflar, türedikleri sınıfların özelliklerini devralırlar, bununla birlikte kendilerine de özel olarak özellikleri mevcuttur. .NET ortamında bir sınıf sadece bir sınıftan türeyebilir fakat bir base class bir çok sınıf türetebilir. Miras almanın temel amacı sınıflar arasında ilişki kurmaktır. Miras alma işlemi şu şekilde yapılır.

class BaseClass

{

// Kodlar, değişkenler, metotlar..

}

class DerivedClass : BaseClass

{

// Kodlar, değişkenler, metotlar..

}

Şimdi bir örneğimize bakalım :

 

Örneği incelediğimiz de öncelikle bir ucak sınıfı oluşturuluyor bu sınıfı base class kabul ediyorum. Daha sonra oluşturulan Airbus ve Boeing sınıfları ise ucak sınıfından türemekteler. İkisinin de kendilerine ait özellikleri mevcut, ayrıca ucak sınıfının da özellikleri var. Bunlara da main yordamında rahatlıkla erişilebiliyor.

Aşağıdaki örnekte base class’taki değişkenlerimi private olarak tanımladım. Bu durum sonucunda kodlarda da görüldüğü gibi türeyen sınıflar base class’tan inheritence almalarına rağmen üyeler private olduğu için erişim sağlanamıyor.

Bu durumu get ve set blokları ile aşabiliriz :

Aynı durum access modifier olarak örneğin, protected kullanıldığında da geçerli olur. Erişim böylelikle main yordamı içinden sağlanamaz.

Böyle bir tanımlamada, agirlik, yukseklik, uzunluk gibi protected olarak tanımlanan özelliklere sadece ve sadece oluşturuldukları class veya türetilmiş classların içinden erişilebilir. Private’tan farkı şudur yani, private sadece iligli class içinden erişim sağlama imkanı verirken, protected ile ilgili sınıfa ek olarak, türeyen sınıflardan da erişim sağlanır.

Bir yorum

  1. ilginc blog icin tesekkur

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir