C#

C# Generic Classes

Yazar - UĞUR

Generic Classes

Generic(Jenerik) tipler sınıflarla(Class) da kullanılabilir.
Generic sınıflar için en yaygın kullanılan şey, toplanan verilerin türüne bakılmaksızın, temelde aynı şekilde koleksiyona öğe ekleme ve öğelerin kaldırılması gibi işlemlerin gerçekleştirildiği öğelerin koleksiyonlarıyla yapılır. Bir koleksiyon türü yığın(stack) olarak adlandırılır. Öğeler “itilir” veya koleksiyona eklenir ve “açılır” veya koleksiyondan kaldırılır. Bazen bir yığın(stack), LIFO (Son giren ilk çıkar) veri yapısı olarak adlandırılır.
Örneğin:

class Stack<T> {
 int index=0;
 T[] innerArray = new T[100];
 public void Push(T item) {
 innerArray[index++] = item; 
 }
 public T Pop() {
 return innerArray[--index]; 
 }
 public T Get(int k) { return innerArray[k]; }
}

Generic sınıf, bir dizideki öğeleri depolar. Gördüğünüz gibi, genel tür T, dizinin türü, Push metodu için parametre türü ve Pop ve Get metotları için dönüş türü olarak kullanılır.
Artık generic sınıfımızın nesneleri oluşturabiliriz:

Stack<int> intStack = new Stack<int>();
Stack<string> strStack = new Stack<string>();
Stack<Person> PersonStack = new Stack<Person>();

Generic sınıfı, özel tanımlı Person türü gibi özel türlerle de kullanabilirsiniz.

Generic bir sınıfta, metotlar için generic türün tanımlanmasına gerek yoktur, çünkü generic türün sınıf düzeyinde zaten tanımlanmış olması gerekir.

Genel sınıf metotları, diğer nesnelerinkiyle aynı şekilde çağrılır:

Stack<int> intStack = new Stack<int>();
intStack.Push(3);
intStack.Push(6);
intStack.Push(7);
 
Console.WriteLine(intStack.Get(1));
//Outputs 6

Yorum Yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.