Kalıtım, Polimorfizm ve Nesne Anahtarlı Veriler- C# Örnekleme

Kalıtım, Polimorfizm ve Nesne Anahtarlı Veriler- C# Örnekleme

C# ile kalıtım, polimorfizm ve nesne anahtarlı verilerin örnekleme yöntemlerini öğrenmek ister misiniz? Bu yazımızda size bu konuları anlatıyoruz Detaylar için tıklayın!

Kalıtım, Polimorfizm ve Nesne Anahtarlı Veriler- C# Örnekleme

C# programlama dili, object oriented programlama özellikleri açısından oldukça kapsamlıdır ve bu özellikler arasında kalıtım, polimorfizm ve nesne anahtarlı veriler yer almaktadır. Bu makalede, bu özelliklerin tanım ve kullanımları C# örnekleme ile incelenecektir.

Kalıtım, bir sınıfın başka bir sınıftan özellikler almasıdır. C# programlama dilinde bu özellik sıklıkla kullanılır. Bir sınıfın özellikleri türetildiği sınıftaki özelliklere eklenerek daha özelleştirilmiş bir sınıf yaratılabilir. Polimorfizm, aynı isme sahip farklı fonksiyonların kullanımıdır ve C# programlama dili açısından oldukça önemlidir. Bu özellik, metotların aşırı yüklenmesi ve geçersiz kılınması ile gerçekleştirilir.

Nesne anahtarlı veriler ise Hashtable veri yapısı ile koleksiyon ve nesne manipülasyonlarında kullanılabilir. Bu yapı, anahtar-değer çiftleri ile değerlerin ilişkilendirilmesini sağlar ve bu ilişki sayesinde nesnelere daha kolay erişim ve manipülasyon imkanı sağlar.


Kalıtım

Kalıtım, object oriented programlama (OOP) yapısı içerisinde yer alan bir özelliktir. Bu özellik sayesinde, bir sınıfın diğer bir sınıfın özelliklerini ve davranışlarını kullanması mümkün hale gelmektedir. Birleşimlik yapısı, kalıtımın temel mantığını oluşturur. Yani, bir sınıfın özelliklerinin ve davranışlarının, diğer bir sınıf tarafından da kullanılabilmesi amaçlanır.

C# programlama dilinde, bir sınıfın diğer bir sınıftan özellikler alabilmesi için, "base" anahtar kelimesi kullanılır. Base kelimesi, özellik ve davranışların alınmasını belirtir. Ayrıca kalıtım ile birlikte, kodun daha düzenli ve sade hale gelmesi sağlanır. Yani, aynı özelliklere sahip nesneler oluşturmak yerine, kalıtım yapısı ile bu özelliklerin sadece bir kez tanımlanmasıyla işlemler gerçekleştirilir.


Polimorfizm

Polimorfizm, aynı isme sahip farklı fonksiyonların kullanımıdır ve C# programlama dili açısından oldukça önemlidir. Metotların aşırı yüklenmesi ve geçersiz kılınmasıyla gerçekleştirilir. Metotların aşırı yüklenmesi, aynı isme sahip farklı parametrelere sahip olan metotların kullanımını içerir. Geçersiz kılma ise bir alt sınıfta tanımlanan metotun, üst sınıfta tanımlanan metodu ezmesi sonucu gerçekleşir.

Polimorfizmin avantajları arasında kodun yeniden kullanılabilirliği ve bakımının kolay olması sayılabilir. Farklı veri tipleri üzerinde çalışan fonksiyonların yazılması gerektiğinde, polimorfizm farklı tipler için aynı ismi kullanarak kod yeniden kullanımını mümkün kılar. Ayrıca, programcıların geçersiz kılınan metotlar için birbirine benzeyen kodları tekrar yazması gerekmez. Bu durum kararlılığı artırır ve sürdürülebilir bir kod tabanı oluşturulmasına yardımcı olur.


Anahtar Kelimeler

Bu bölümde, anahtar kelimeler olan metotların aşırı yüklenmesi ve geçersiz kılınması, kalıtım ve polimorfizme yönelik örnekler verilerek açıklanacaktır. C# dilinde metotların aşırı yüklenmesi, belirli bir isimdeki metotun farklı parametrelerle kullanılmasıdır. Bu özellik, bir sınıfın kullanılabilirliğini artırır ve tekrarlanan kod yazımının önüne geçer. Metot aşırı yüklemesi, aynı işlevi farklı parametrelerle yapan ve ismi aynı olan metotların kullanımını sağlar.

Polimorfizme gelince, aynı isme sahip farklı fonksiyonların kullanımıdır. Bu özellik C# dilinde oldukça önemlidir, çünkü aynı isimli bir metot, farklı sınıflarda farklı şekillerde kullanılabilir. Bu sayede, kod yazımı daha kısa ve anlaşılır hale gelir. C# dilinde bu özellik, bir sınıfın alt sınıflarında metotların geçersiz kılınması ile gerçekleştirilebilir.

Kalıtıma gelince, bir sınıfın başka bir sınıftan özellikler almaya yönelik bir özelliktir. Bu özellik sayesinde, mevcut bir sınıfın özellikleri kullanarak yeni bir sınıf yaratmak mümkündür. Bu özellik, C# dilinde sıklıkla kullanılmaktadır ve kod yazımını büyük ölçüde kolaylaştırmaktadır.

Özetle, metotların aşırı yüklenmesi, geçersiz kılınması, kalıtım ve polimorfizm, C# dilinde oldukça önemli özelliklerdir. Bu özellikler, kod yazımını kolaylaştırır, tekrar eden kod bloklarının önüne geçer ve sınıflar arasında kullanımı daha rahat hale getirir. Aşağıdaki tablo örnekleri bu konuyu daha iyi anlamanıza yardımcı olacaktır.

Metot Aşırı Yüklemesi Örneği Metot Geçersiz Kılma Örneği
public int topla(int sayi1, int sayi2) { return sayi1 + sayi2; } public class Personel { public virtual void MaasHesapla() { } }
public int topla(int sayi1, int sayi2, int sayi3) { return sayi1 + sayi2 + sayi3; } public class Mudur : Personel { public override void MaasHesapla() { } }

Yukarıda verilen tabloda, metot aşırı yüklemesi örneği kolaylıkla anlaşılabilirken, metot geçersiz kılma örneği alt sınıflarda geçersiz kılınan metotların kullanımına yönelik bir örnektir. Bu özellikler, C# programlama dilinde oldukça önemlidir ve sık sık kullanılmaktadır.


Metot Aşırı Yüklemesi

C# programlama dili ile kullanılan metot aşırı yüklemesi, aynı isme sahip farklı parametreler alan farklı metotların kullanım şekline denir. Bu özellik, programlamada harika bir kolaylık sağlar. Benzer işlevlere sahip olan ancak farklı parametreler kullanan metotlar, aynı isim altında toplanır ve çağrılır. Bu sayede, kod yığını daha düzenli ve kısa hale getirilir ve ekleme işlemleri daha kolay hale gelir.

Örneğin, bir çemberin alanını hesaplayan iki farklı metot yazdık; birisi yarıçapı parametre olarak alır ve diğeri çapı parametre olarak alır. Her iki metot da "AlanHesapla" adı altında toplanabilir. Bu sayede, hem yarı çap hem de çap için ayrı metot yazmak yerine, tek bir işlev ile ihtiyaç duyduğumuz hesaplamaları yapabiliriz. Bu kolaylık, programlama sürecini hızlandırırken, kod yığınını da daha anlaşılır hale getirir.

  • Metot aşırı yüklemesi ile, bir metotun farklı işlevlere sahip olabilmesi sağlanır.
  • Farklı metot isimlerine ihtiyaç duyulmadan, aynı isim ile farklı işlevlere sahip metotlar yazılabilir.

C# programlama dilinde metot aşırı yüklemesi yaparken farklı parametreler kullandığımızda, her bir parametre değişkeni için ayrı bir işlev tanımlamamız gereklidir. Bu sayede, farklı parametrelerdeki işlevlerimizi, aynı isim altında toplayarak, kod yığınını daha düzenli ve okunaklı hale getirebiliriz.

Metot aşırı yüklemesi, programlama sürecinde önemli bir yer tutar. Aynı işlevi yerine getiren ancak farklı parametrelere sahip olan işlevlerin aynı isim altında toplanarak kod yığınını daha okunaklı ve sürekliliğini sağlar. Bu özellikle birlikte C# programlama dili, geniş menzilli hayali ürünler oluşturmada ve sınıf yapılandırmasını tamamlamak için hiç olmadığı kadar yüksek verimlilik sağlar.


Metot Geçersiz Kılma

C# programlama dilinde kalıtım kullanılarak alt sınıflar, miras aldıkları üst sınıfın metotlarını kullanabilirler. Ancak, alt sınıfların bazı durumlarda üst sınıfın metotlarını aynı isimle kullanması gerekebilir. Bu durumlarda, alt sınıfın metodu üst sınıfın metodunu geçersiz kılabilir.

Geçersiz kılma, üst sınıfın metodu yerine alt sınıfın metodu kullanılmasını sağlar. Bu sayede, alt sınıfın istediği özellikleri ekleyebilmesi veya üst sınıfta var olan özellikleri değiştirebilmesi mümkün olur. Bu özellik, polimorfizm kavramı ile bağlantılı bir özelliktir.

Örneğin, üst sınıfta "Hesapla" isimli bir metot olsun. Alt sınıfta ise, "Hesapla" isimli aynı metot kullanılması gerekiyor. Ancak, alt sınıfın bu metodu farklı bir şekilde hesaplama yapacak şekilde tasarlanması gerekiyor. Bu durumda, alt sınıfın "Hesapla" metodunu geçersiz kılması ve kendi "Hesapla" metodu ile yer değiştirmesi gerekiyor.

C# programlama dilinde, geçersiz kılma işlemi için "override" anahtar kelimesi kullanılır. Alt sınıfın geçersiz kılacağı metot, "virtual" anahtar kelimesi ile üst sınıfta tanımlanır ve alt sınıf bu metodu "override" anahtar kelimesi ile geçersiz kılar.

Özetle, C# programlama dilinde metot geçersiz kılma, alt sınıfın üst sınıftan miras aldığı metotları kendi özelliklerine göre değiştirmesine olanak tanır. Bu sayede, çoklu nesne yapısı oluşturulur ve polimorfizm kavramı sağlanır.


Nesne Anahtarlı Veriler

Nesne anahtarlı veriler, yani key-value pairs, C# programlama dilinde de oldukça kullanışlıdır. Hashtable veri yapısı sayesinde, nesne anahtarlı veriler koleksiyon ve nesne manipülasyonlarında kullanılabilir.

Hashtable veri yapısı, anahtar-değer çiftleri şeklinde nesneleri depolamanın en etkili yoludur. Hashtable, aynı zamanda objelerin boyutlarına göre değişebilen bir yapıya sahiptir. Bu da boyut kısıtlamaları olmadan nesne manipülasyonu yapma imkanı verir.

Nesne anahtarlı veri kullanımına örnek verecek olursak, bir restoran menüsündeki yemeklerin adı, fiyatı ve içeriği nesne anahtarlı veri şeklinde depolanabilir. Bu sayede, menüdeki her yemek ve fiyat bilgisi kolaylıkla çekilebilir ve manipüle edilebilir.

Hashtable veri yapısı, nesne anahtarlı veri kullanımı dışında hash tablolarını da depolamak için kullanılabilir. Hash tabloları, anahtarlar ve değerler arasında bağlantılar kurarak bir veri yapısı oluşturur. Bu veri yapısı, hızlı veri manipülasyonu için oldukça kullanışlıdır.

Sonuç olarak, nesne anahtarlı veriler ve Hashtable veri yapısı, C# programlama dilinde koleksiyon ve nesne manipülasyonlarında oldukça önemli bir rol oynar. Bu nedenle, C# programlamada bu özelliklerin etkin bir şekilde kullanılması, programların verimliliklerini artırabilir.


Hashtable

Hashtable veri yapısı, anahtar-değer ikilisi olarak bilinen çiftlere dayanan dinamik bir koleksiyon içerir. Hashtable veri yapısı, anahtara karşılık gelen benzersiz bir değer tanımlar ve veri erişimini hızlandırır. Ayrıca, Hashtable veri yapısı sıralı değildir, anahtarlar rasgele veya rastgele sırayla saklanır.

Hashtable veri yapısının kullanımı örneklerle açıklanacaktır. Örneğin, bir marketin ürünlerinin envanterini gösteren bir veritabanı sistemi düşünelim. Hashtable veri yapısı, ürün kodu gibi benzersiz bir anahtarla her ürün için stok sayısı gibi bir değer içerebilir. Bu şekilde, belirli bir ürünün stok durumunu hızlı ve kolay bir şekilde kontrol edebiliriz.

Aşağıdaki örnek, Hashtable veri yapısının oluşturulması ve kullanımını gösterir:

Anahtarlar Değerler
1001 50
1002 20
1003 15

Bu örnekte, anahtarlar ürün kodlarını, değerler ise her bir ürünün stok sayısını gösterir. Hashtable veri yapısı, her ürünü benzersiz anahtarla kolayca tanımladığı için veriye hızlı erişim sağlar. Bu, bir veritabanı sistemi gibi büyük bir veri kümesinde özellikle yararlı olduğu için Hashtable veri yapısı C# programlama dilinde yaygın olarak kullanılmaktadır.


Nesne Anahtarlı Veri Kullanımı

Nesne anahtarlı veri kullanımı, C# programlama dilinde sıklıkla kullanılan bir tekniktir. Bu teknik, Hashtable veri yapısı ile kullanılır ve bir koleksiyonda nesne olarak depolanabilecek her tür veriyi depolamak için kullanılır. Hashtable veri yapısı, anahtar-değer ikilisini tutar ve değere erişmek için anahtar kullanır. Bu da nesne anahtarlı veri kullanımını mümkün kılar.

Örneğin, bir müşteri listesi oluşturmak istediğimizi düşünelim. Bu listede, müşteri adları anahtar ve diğer müşteri bilgileri değer olabilir. Hashtable veri yapısı kullanarak müşteri adlarına göre bilgilere erişebiliriz. Ayrıca, Hashtable veri yapısının Add, Remove ve ContainsKey gibi metotları kullanarak koleksiyona veri ekleyebilir, veri silebilir ve koleksiyonda bulunan bir anahtarı arayabiliriz.

Aşağıdaki örnek, Hashtable veri yapısını kullanarak nesne anahtarlı veri kullanımını göstermektedir:

Anahtar Değer
musteri1 Ad: Ali, Soyad: Can, Telefon: 555-5555
musteri2 Ad: Ayşe, Soyad: Yılmaz, Telefon: 555-6666
musteri3 Ad: Mehmet, Soyad: Ağar, Telefon: 555-7777

Yukarıdaki örnekte, anahtar olarak müşteri adları kullanılmıştır ve değerler olarak diğer müşteri bilgileri depolanmıştır. Hashtable veri yapısının Add metodu kullanılarak bir müşteri bilgisi eklenebilir:

Hashtable musteriListesi = new Hashtable();musteriListesi.Add("musteri1", "Ad: Ali, Soyad: Can, Telefon: 555-5555");

Hashtable veri yapısının Remove metodu kullanılarak bir müşteri silinebilir:

musteriListesi.Remove("musteri2");

Son olarak, Hashtable veri yapısının ContainsKey metodu kullanılarak bir müşteri anahtarı aranabilir:

if(musteriListesi.ContainsKey("musteri3")){  Console.WriteLine("Müşteri 3 listemizde var.");}

Yukarıdaki örnekler, nesne anahtarlı veri kullanımının temelini oluşturur. Hashtable veri yapısı kullanarak bu teknikle birçok farklı uygulama geliştirmek mümkündür.