Özet - Dil tasarımı
- Dart kursu
- Uzman
- Ders 6/47
- 5 dk
null safety, type system ve records'ı birleştirerek bir tür sistemi özeti yazarsın.
Özet: Dil tasarımı
Bu grupta Dart'ın dil tasarımının temel taşlarını gördük: sound null safety null referans hatalarını derleme anında yakalar; statik type system tür güvenliğini sağlar.
Subtyping ile polymorphism mümkün olur; records ve patterns veriyi lightweight gruplar ve çözümler. Bunlar birlikte Dart'ı hem güvenli hem esnek kılar. Bu özette tüm bu kavramları birleştiren bir kod yazacaksın.
Uygulama Özet: Tüm kavramları birleştir
Bir Wrapper<T> generic sınıfı tanımla: final T value; Wrapper(this.value); alan ve kurucu. Bir int? maybeAge parametresini Wrapper'a sarmalayan Wrapper<int> wrap(int? maybeAge) => Wrapper(maybeAge ?? 0); fonksiyonunu tanımla. main içinde final w = wrap(null); yarat; print(w.value); ile sonuçu yazdır.
Başlangıç kodu
void main() {
// Wrapper<T> generic sınıfını tanımla
// wrap fonksiyonunu tanımla (nullable yaş değerini sarmalar)
// wrap çağrısı ile null gönder; sonuçu yazdır
}Örnek çözüm
class Wrapper<T> {
final T value;
Wrapper(this.value);
}
Wrapper<int> wrap(int? maybeAge) => Wrapper(maybeAge ?? 0);
void main() {
final w = wrap(null);
print(w.value);
}Beklenen çıktı
0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sound null safety + type system birlikte ne sağlar?
- Daha kısa kod
- Daha hızlı çalışma anı
- Derleme anında tür ve null güvenliği Doğru cevap
- Çöp toplayıcı iptalı
Açıklama: sound null safety ve statik türler birlikte derleme anı güvenliği sağlar.
2 Tasarım kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Sound null safety |
Null referans güvenliği |
Type system |
Statik tür denetimi |
Subtyping |
Polymorphism |
Records |
Lightweight veri gruplama |
3 Record ile destructuring
final point = (3, 4);
final (int x, ____) = point;
print('$x,$y');
final point = (3, 4);
final (int x, int y) = point;
print('$x,$y');
Açıklama: final (int x, int y) = point; record destructuring yapar.