Generics Nedir? Tür Güvenliği ile Kod Yeniden Kullanımı

Generics, bir fonksiyon, sınıf ya da veri yapısını yazarken türü (type) önceden belirlemek yerine, kullanılırken belirtme imkanı veren bir özelliktir. Böylece aynı kodu farklı veri türleriyle çalıştırabilirsin; hem tekrar yazma işinden kurtulursun hem de tür güvenliğini kaybetmezsin.

Örneğin bir liste oluşturduğunda, içine ne koyacağını başta söylemek yerine, listeyi kullanırken karar verebilirsin. Bu sayede derleyici (kodu çalıştırılabilir hale getiren araç) yanlış türde veri eklemeyi engeller ve hatayı daha erken yakalar.

Java'da generics şöyle kullanılır:

1List<String> isimler = new ArrayList<String>();
2isimler.add("Ali");
3isimler.add("Ayşe");
4// isimler.add(123); // Hata: Integer eklenemez
5
6List<Integer> sayilar = new ArrayList<Integer>();
7sayilar.add(10);
8sayilar.add(20);

Aynı ArrayList sınıfı hem String hem Integer ile çalıştı, ama her birinin içindeki tür belli oldu. Eğer generics olmasaydı, listeye her türden veri ekleyebilirdin; bu da çalışma sırasında hatalara yol açabilirdi.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

C# ve TypeScript'te de benzer mantı çalışır. TypeScript'te bir fonksiyon yazarken:

1function ilkElemani<T>(dizi: T[]): T {
2return dizi[0];
3}
4
5const str = ilkElemani<string>(["merhaba", "dünya"]);
6const num = ilkElemani<number>([1, 2, 3]);

Burada T bir yer tutucu; fonksiyon çağrılırken gerçek tür belirleniyor. Kod yazarken esnek kalırsın, ama çalıştırırken güvenlik sağlanır.

Generics kullanmanın faydası: kod tekrarını azaltır, hataları erkenden yakalar ve kodun okunabilirliğini artırır. Özellikle büyük projelerde veri yapıları, kütüphaneler ve API'ler generics sayesinde daha güvenli ve esnek olur.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz