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:
Şimdi ise otomobil minibüs farketmeksizin ortak olan özelliklerden ağırlık,uzunluk ve maksimum hızı yazıyoruz:
Son olarak bir aracın hızlan,yavaşla ve durma fonksiyonlarını oluşturuyoruz:
Ş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:
Sıra geldik otomobil sınıfından instance almaya,bunun için windows formumuzun load eventine geçiyoruz:
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:
Şimdi otomobil sınıfından yeniden instance alalım:
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:
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:
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.
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:
Şimdi ise otomobil minibüs farketmeksizin ortak olan özelliklerden ağırlık,uzunluk ve maksimum hızı yazıyoruz:
Son olarak bir aracın hızlan,yavaşla ve durma fonksiyonlarını oluşturuyoruz:
Ş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:
Sıra geldik otomobil sınıfından instance almaya,bunun için windows formumuzun load eventine geçiyoruz:
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:
Şimdi otomobil sınıfından yeniden instance alalım:
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:
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:
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.