Generic metot
- Dart kursu
- Orta seviye
- Ders 31/116
- 5 dk
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
// first<T> metodunu tanımla
void main() {
// first<int>([10, 20, 30]) çağır ve yazdır
}Örnek çözüm
// 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
T first____(List<T> items) {
return items[0];
}
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ü |