Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

C# Generic Class Tanımlama

Bu yazımda C#’ta Generic Class tanımlamayı göstereceğim.Generic sınıflar temel olarak normal sınıflar ile aynı özellikleri göstermektedir.Generic sınıfların normal sınıflardan farkı,kullanılacak olan tiplerin sınıf tanımlama aşamasında belirtilmesidir.

Basit bir Generic sınıfı aşağıdaki gibidir.

    class ListGeneric
    {

    }

Not : Generic sınıflarda overload(aşırı yükleme) işlemi mümkün değildir.

Yukarıdaki tanımladığım Generic sınıfımızın nesnesini oluştururken ifadesindeki “T” yerine benden bir tip isteyecektir.Örn;

ListGeneric koleksiyon = new ListGeneric();

Gördüğünüz gibi kendim Generic bir sınıf tanımlamış oldum.
ifadesindeki,”T” “Type(tip)” kelimesindeki baş harfi temsil etmektedir.Yani bir tip istemektedir.Bu parametreye herhangi bir veri türünden parametre girebiliriz.


Şimdi aşağıdaki kodları inceleyiniz.

    class ListGeneric
    {
        T ad;
        public T Ad
        {
            get
            {
                return ad;
            }
            set
            {
                ad = value;
            }
        }
    }

Yukarıdaki yapıyı açıklayayım.<T> parametresinde “T” değeri bir veri tipini temsil etmektedir.Bir tip olduğundan dolayı “T ad” koduyla bir değişken tanımlanmıştır.Yani “T” tipinden, “ad” isminde bir değişken.(T tipi bu Generic sınıfından nesne oluşturulurken yukarıda gösterdiğim şekilde verilmiş olacaktır.)Bu “ad” ismindeki fielda(değişken) “Ad” isminde geriye “T” tipinde dönen bir property tanımlanmıştır.Bu propertynin set bloğu sayesinde, “ad” fieldına dısardan “T” tipinde veri girilebilecek ve get bloğu sayesinde, “ad” fieldı okunabilecektir.

            ListGeneric koleksiyon = new List();
            koleksiyon.Ad = "Gençay";
            ListGeneric koleksiyon2 = new List();
            koleksiyon2.Ad = 12;

Gördüğünüz gibi Generic sınıfımızdan oluşturduğumuz nesnelerde <> operatörleri arasında verdiğimiz veri türüne göre “Ad” propertysi çalışmaktadır.


Generic Sınıflarda Türeme
Generic sınıflar kalıtım alıp,kalıtım verebilirler.Burada dikkat etmemiz konu, Generic sınıfın kalıtım aldığı sınıf ismi ile, Gneric sınıfının <> operatörleri arasındaki isim aynı olamaz.Örn;GenerikOrnekSınıf:H{}.Eğer bu şekilde bir kullanım yaparsanız hata ile karşılaşacaksınız.
Bir sonraki yazımda görüşmek üzere.
İyi çalışmalar.

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. Zarifa dedi ki:

    Merhaba, ben yanlis anladim mi emin degilim ama bir ac yerde hakkinda konusulmus ama kod parcasinda gosterimemis sanirim.

    • Gençay dedi ki:

      Zamanındaki wordpress editörü sanırım örneklendirmelerdeki generic ifadeleri özel karakter olarak algılayıp kaldırmış.

Bir cevap yazın

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

*