CodeBlanks Logo Icon CodeBlanks

Model sınıfı nedir?

Model sınıfı ile veriyi tip güvenli şekilde saklamayı öğrenirsin.

Model sınıfı nedir?

Model sınıfı, veriyi adlandırılmış ve türü belirlenmiş alanlarda tutan Dart sınıfıdır. Map<String, dynamic> yerine bir model kullanırsan alanlara güvenli biçimde erişirsin; yanlış anahtar yazarsan derleyici seni uyarır. Alanlar genellikle final olur; böylece nesne oluşturulduktan sonra değişmez.

class Kullanici {
  final String ad;
  final int yas;

  Kullanici(this.ad, this.yas);
}

void main() {
  final k = Kullanici('Ayşe', 28);
  print(k.ad);  // Ayşe
}

final alanlar ve kurucu

Bir model sınıfında alanlar final olarak bildirilir ve kurucu ile ilk değerleri verilir. final alanlar sonradan değiştirilemez; bu da verinin program boyunca tutarlı kalmasını sağlar. Kurucu kısa yazım Kullanici(this.ad, this.yas) ile parametreleri doğrudan alanlara atar.

class Urun {
  final String ad;
  final int fiyat;

  Urun(this.ad, this.fiyat);
}

final u = Urun('Kalem', 15);
// u.fiyat = 20;  // Hata: final atanamaz

Uygulama Kullanici modeli tanımla

Kullanici adında bir sınıf tanımla: final String ad ve final int yas alanları olsun. Kurucu ile değerleri ata. main içinde bir nesne oluştur ve ad alanını print ile yazdır.

Başlangıç kodu

main.dart
// Kullanici sınıfını tanımla
// ad ve yas alanları final olsun
// Bir nesne oluşturup ad'ını yazdır

void main() {
}

Örnek çözüm

main.dart
class Kullanici {
  final String ad;
  final int yas;

  Kullanici(this.ad, this.yas);
}

void main() {
  final k = Kullanici('Mert', 30);
  print(k.ad);
}

Beklenen çıktı

Mert

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir model sınıfı aşağıdakilerden hangisini sağlar?

  • Alanlara tür güvenli erişim Doğru cevap
  • Otomatik UI çizimi
  • Veritabanı bağlantısı
  • Daha hızlı derleme

Açıklama: Model sınıfı alanların türlerini açıkça belirtir; böylece derleyici yanlış erişimde uyarı verir. UI çizimi, veritabanı ve derleme hızı modelin sorumluluğunda değildir.

2 final alan bildir

Soru
class Kullanici {
  ____;
  final int yas;

  Kullanici(this.ad, this.yas);
}
Cevap
class Kullanici {
  final String ad;
  final int yas;

  Kullanici(this.ad, this.yas);
}

Açıklama: Model sınıfında alanlar final olarak bildirilir; bu sayede nesne oluşturulduktan sonra alanlar değişmez.

3 Model sınıfı parçaları

Kavram Anlamı
class Kullanici sınıf bildirimi
final String ad değişmez alan
Kullanici(this.ad) kurucu
k.ad alana erişim

Orta seviye bölümündeki tüm dersler