Parametrelerle esneklik
- Flutter kursu
- Orta seviye
- Ders 73/99
- 4 dk
Constructor parametreleri ile widget'ı esnek yapmayı öğrenirsin.
Constructor parametreleri
Özel widget'ı esnek hale getirmek için alanları kurucu parametre olarak alırsın. required anahtar kelimesi parametrenin zorunlu olduğunu, = deger biçimi ise varsayılan değer belirtir. Böylece aynı widget farklı verilerle çalışır.
class Etiket extends StatelessWidget {
final String yazi;
final Color renk;
const Etiket({
super.key,
required this.yazi,
this.renk = const Color(0xFF000000),
});
@override
Widget build(BuildContext context) {
return Text(yazi, style: TextStyle(color: renk));
}
}Varsayılan değer
Bir parametreye = deger biçiminde varsayılan değer verirsen, çağrıda o parametre belirtilmezse bu değer kullanılır. required ile aynı parametreyi işaretleyemezsin; ikisi birbirini dışlar.
const Etiket({
super.key,
required this.yazi,
this.renk = const Color(0xFF000000), // varsayılan
});Bu sayede Etiket(yazi: 'Selam') çağrısı siyah renkli bir etiket verir.
Uygulama Etiket widget'ı yaz
Etiket adında StatelessWidget tanımla. final String yazi alanı required, final Color renk alanı const Color(0xFF000000) varsayılan değerli olsun. build metodu Text(yazi, style: TextStyle(color: renk)) döndürsün. main içinde 'hazir' yazdır.
Başlangıç kodu
import 'package:flutter/widgets.dart';
// Etiket StatelessWidget tanımla
// final String yazi (required)
// final Color renk (varsayılan Color(0xFF000000))
// build Text(yazi, style: TextStyle(color: renk)) döndürsün
void main() {
// 'hazir' yazdır
}Örnek çözüm
import 'package:flutter/widgets.dart';
class Etiket extends StatelessWidget {
final String yazi;
final Color renk;
const Etiket({
super.key,
required this.yazi,
this.renk = const Color(0xFF000000),
});
@override
Widget build(BuildContext context) {
return Text(yazi, style: TextStyle(color: renk));
}
}
void main() {
print('hazir');
}Beklenen çıktı
hazir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 required anahtar kelimesi neyi belirtir?
- Parametrenin final olduğunu
- Parametrenin zorunlu olduğunu Doğru cevap
- Parametrenin varsayılan değerli olduğunu
- Parametrenin async olduğunu
Açıklama: required, adlandırılmış bir parametrenin çağrıda verilmesi zorunlu olduğunu belirtir. async fonksiyon davranışıdır, final alan değişmezliğini ifade eder, varsayılan değer = ile verilir.
2 Zorunlu parametre işaretle
const Etiket({
super.key,
____ this.yazi,
this.renk = const Color(0xFF000000),
});
const Etiket({
super.key,
required this.yazi,
this.renk = const Color(0xFF000000),
});
Açıklama: Adlandırılmış bir parametreyi zorunlu yapmak için required kullanılır. default Dart anahtar kelimesi değildir, optional zıttıdır, final alan bildirimi içindir.
3 Parametre parçaları
| Kavram | Anlamı |
|---|---|
required |
zorunlu parametre |
= deger |
varsayılan değer |
this.yazi |
alanı kurucuya bağlama |
final |
değişmez alan |