Serkan Ayyıldız

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

Visual Basic.Net Kalıtım Alma ve Verme

VB.Net'çi yazılımlara yeniden merhabalar :)

Bugünkü makalemizde Visual Basic kalıtım (inheritance) konusunu öğreneceğiz, gerçi şu an bu makaleyi yazmaya üşeniyorum çünkü aynı konuyu C# Kalıtım Alma ve Java Kalıtım Alma makalelerimde gayet açıklayıcı bir şekilde yazdığım için o makaleleri de incelemenizde fayda var ;)

Şimdi gelelim konumuza; yazılım dünyasında kalıtım konusu tıpkı gerçek hayatta olduğu gibi annemizin babamızın bize verdiği DNA genlerimiz gibi özelliklerin programcılıktaki karşılığıdır,dolayısıyla nesne yönelimli programlamada da bu
konu sınıflar arasında gerçekleşmiştir.

Biraz soyut olan bu konuyu kolay anlayabilmeniz için şu şekilde anlatayım; biz bir insan olarak özellikleri olan bir insanız ve babamızdan soyadı alıyorsak bu soyadı string tipinde sınıfımızın property'sidir.Rengimiz, cinsiyetimiz,göz rengimiz gibi sıralayabileceğimiz birçok özelliğimiz ise yine sınıfımızın property'leridir.Sağlıklı olduğumuzu varsayarsak koşmak,yürümek gibi fonksiyonlarımız da sınıfımızın birer metodudur.
İşte gerçek dünyada olduğu gibi programlama konusunda da böyle düşünüyor ve base (kalıtım veren - taban) sınıf ile kalıtım alan (derived) sınıfları iyi bilmeliyiz.

Inheritance konusunun gerekliliği ise tıpkı nesne yönelimli programlama (object orianted programming) ihtiyacından gelmektedir ve programımızı daha kolay ve etkin bir şekilde kodlayabilmemiz için gerekli gereksiz her şeyi tek bir classa yığmaktansa ortak olan her özelliği üst sınıftan kalıtım alarak yeni sınıflar türetmek ve daha düzenli bir program
yazmamıza olanak tanımaktadır.

Buraya kadar anlattıklarım biraz hayali olduğu için gelin Visual Studio'yu açalım ve Visual Basic kodlarımızı yazalım,öncelikle "Arac" isimli bir sınıf oluşturalım:

vbnet-class

Şimdi ise otomobil minibüs farketmeksizin ortak olan özelliklerden ağırlık,uzunluk ve maksimum hızı yazıyoruz:

vbnet-property 

Son olarak bir aracın hızlan,yavaşla ve durma fonksiyonlarını oluşturuyoruz:

vbnet-class-property
Şimdiye kadar hep bir aracın ortak özelliklerini oluşturduk şimdi ise bir otomobil sınıfı oluşturalım ve otomobile ait olabilecek özellik ve fonksiyonlar oluşturalım:

vbnet-sınıf

Sıra geldik otomobil sınıfından instance almaya,bunun için windows formumuzun load eventine geçiyoruz:

vbnet-class-instance

Dikkat ederseniz otomobil bir araç olduğu halde araç sınıfının özellik ve fonksiyonlarına sahip değil,ee bunlara sahip olması gerektiği halde yeniden yazmayacağımıza göre ne yapacağız?
Tabi ki kalıtım (inheritance) alacağız :)

Visual Basic ile kalıtım almasını istediğimiz bir sınıfın adının yanına iki nokta ( : ) koyar, inherits (kalıtım alır) sözcüğü ekler ve kalıtım alacağı sınıfın adını yazarız:

vbnet-class-inheritance

Şimdi otomobil sınıfından yeniden instance alalım:

vbnet-inheritance-instance

Böylece otomobil bir araç olduğu için araç sınıfının da özelliklerine sahip olmuş oldu.Aynı örneği "Ucak" isimli oluşturacağımız sınıf için yapalım:

vbnet-kalitim-sınıf

Dikkat ederseniz uçak sınıfımız otomobil sınıfından değil ortak özellikleri barındıran araç sınıfından kalıtım almaktadır çünkü uçakta bir araçtır.
Uçak sınıfımızdan instance alalım:

vbnet-kalıtım-örneği

Artık VB.Net inheritance konusunu böylece anlamış oluyoruz sanırım :)

Kalıtım konusunun mantığını anladıysanız sorun yok çünkü kodlama kısmını zamanla halledersiniz eğer aklınıza takılan bir konu olursa bu makaleye yorum atabilir ya da bana e-posta atabilirsiniz ancak C# ve Java alt kategorilerindeki kalıtım konusuyla makalelerimi okumanızı öneririm.

Bir sonraki makalemizde görüşmek üzere hoşçakalın.




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

Menu