CodeBlanks Logo Icon CodeBlanks

Generic metot

Generic metot tanımlamayı öğrenirsin.

Generic metot

Bir metot da kendi tür parametresini alabilir. Tür parametresi dönüş türünden önce, açı köşeli parantez içinde yazılır.

Örnek: T first<T>(List<T> items) { return items[0]; }. Burada first metodu her listede çalışır; listenin ilk elemanını döner. first<int>([1, 2, 3]) bir int, first<String>(['a']) bir String döner. Tür parametresi metoda özeldir; sınıf generic olmak zorunda değildir. Bu, yardımcı metotları tür güvenli yazmanın temiz yoludur.

Çağrımda tür çıkarımı

Generic metodu çağırırken tür argümanını açıkça yazabilir ya da Dart'a bırakabilirsin. first<int>([1, 2, 3]) açık yazımdır; first([1, 2, 3]) ise çıkarımlıdır.

Çıkarımda Dart, argümanın türüne bakar ve T'yi ona göre belirler. [1, 2, 3] bir List<int> olduğundan T int olur. Sonuç yine tür güvenlidir; derleyici yanlış kullanımı yakalar. Açık yazım, kodu okuyan kişiye türü hemen gösterir; çıkarım, kodu kısa tutar. İki biçim de derleme zamanında aynı güvenliği sağlar.

Uygulama first<T> metodunu yaz ve çağır

T first<T>(List<T> items) adında bir generic metot tanımla; gövdesi return items[0]; olsun. main içinde var n = first<int>([10, 20, 30]); ile çağır ve print(n) yap.

Başlangıç kodu

main.dart
// first<T> metodunu tanımla

void main() {
  // first<int>([10, 20, 30]) çağır ve yazdır
}

Örnek çözüm

main.dart
// first<T> metodunu tanımla
T first<T>(List<T> items) {
  return items[0];
}

void main() {
  var n = first<int>([10, 20, 30]);
  print(n);
}

Beklenen çıktı

10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 first metoduna tür parametresi ekle

Soru
T first____(List<T> items) {
  return items[0];
}
Cevap
T first<T>(List<T> items) {
  return items[0];
}

Açıklama: <T> first<T>(List<T> items) biçiminde generic metot yazılır.

2 first<int>([10, 20, 30]) çağrımı ne döner?

  • Listenin son elemanını
  • Listenin uzunluğunu
  • Listenin ilk elemanını Doğru cevap
  • Tüm listeyi

Açıklama: first metodu listenin ilk elemanını döner.

3 Generic metot parçalarını eşle

Kavram Anlamı
T Dönüş türü
first Metot adı
List<T> Parametre türü

Orta seviye bölümündeki tüm dersler