Sobes.tech
Middle

Generics programlamada hangi imkanları sağlar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Genel türler aşağıdaki avantajları sağlar:

  • Tür güvenliğinin artırılması: Kod, tür uyumsuzluğuyla ilgili çalışma zamanında hatalara karşı daha dayanıklı hale gelir. Derleyici, türleri yalnızca çalışma zamanında değil, derleme sırasında da kontrol eder.
  • Kodun yeniden kullanımı: Farklı veri türleriyle çalışan evrensel veri yapıları, sınıflar ve metodlar oluşturulabilir ve kod tekrarı gerekmez.
  • Performans artışı: Bazı dillerde, jeneriklerin kullanımı, temel sınıf Object kullanımı veya manuel tür dönüşümüne kıyasla daha verimli kodlara yol açabilir, çünkü temel türlerin paketlenmesi ve çözülmesi gerekmez.
  • Daha temiz ve okunabilir API: Kütüphane ve sınıf arayüzleri daha sezgisel hale gelir, hangi türlerle çalıştıklarını gösterir.

Java örneği:

// ArrayList jenerik sınıfının kullanımı örneği
List<String> isimler = new ArrayList<>();
isimler.add("Alice");
// isimler.add(123); // Derleme hatası - tür güvenliği
String isim = isimler.get(0); // Tür dönüşümüne gerek yok

C# örneği:

// Jenerik metod kullanımı örneği
public T IlkElemaniGetir<T>(List<T> liste)
{
    if (liste != null && liste.Count > 0)
    {
        return liste[0];
    }
    return default(T); // T türü için varsayılan değeri döner
}

List<int> sayilar = new List<int>() { 1, 2, 3 };
int ilkSayi = IlkElemaniGetir(sayilar); // int ile çalışır

List<string> renkler = new List<string>() { "kırmızı", "yeşil" };
string ilkRenk = IlkElemaniGetir(renkler); // string ile çalışır