CodeBlanks Logo Icon CodeBlanks

Özet - Dil tasarımı

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

main.dart
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

main.dart
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

Soru
final point = (3, 4);
final (int x, ____) = point;
print('$x,$y');
Cevap
final point = (3, 4);
final (int x, int y) = point;
print('$x,$y');

Açıklama: final (int x, int y) = point; record destructuring yapar.

Uzman bölümündeki tüm dersler