Flutter
Parametrelerle esneklik
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.
Örnek çözümü göster
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');
}
Kendini test et
-
required anahtar kelimesi neyi belirtir?
- Parametrenin final olduğunu
- Parametrenin zorunlu olduğunu
- Parametrenin varsayılan değerli olduğunu
- Parametrenin async olduğunu
Cevabı göster
Parametrenin zorunlu olduğunu — 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.
-
Zorunlu parametre işaretle
const Etiket({
super.key,
____ this.yazi,
this.renk = const Color(0xFF000000),
});
Cevabı göster
const Etiket({
super.key,
required this.yazi,
this.renk = const Color(0xFF000000),
});
-
Parametre parçaları
- required
- zorunlu parametre
- = deger
- varsayılan değer
- this.yazi
- alanı kurucuya bağlama
- final
- değişmez alan
Sıradaki ders: Tekrar kullanılabilirlik