CodeBlanks Logo Icon CodeBlanks

Instance variables

Sınıf içinde örnek değişken tanımlamayı öğrenirsin.

Instance variables

Instance variables (örnek değişkenler), bir sınıfın her örneğinde tutulan verilerdir. Sınıfın içinde, dışında tanımlanırlar. Örnek: class User { String name; int age; }.

Bu değişkenlere örnek üzerinden nokta ile erişilir: u.name, u.age. Her örneğin kendi değerleri vardır; iki User nesnesinin name özelliği farklı olabilir.

Örnek değişkene başlangıç değeri verilebilir: String name = 'Misafir';. Veya constructor'da atanır. Tür non-nullable ise ya başlangıç değeri ya da constructor ataması şarttır.

Non-nullable örnek değişkeni

Bir örnek değişken non-nullable ise, ya başlangıç değeri verilir ya da constructor'da atanır. Aksi halde derleme hatasıdır. Örnek: class User { String name = 'Misafir'; } — name her zaman değerlidir.

Constructor ataması da yeter: class User { String name; User(this.name); }. Burada constructor name'i mecburi kılar; bu yüzden name non-nullable kalabilir.

Nullable yaparsan başlangıç şartı kalkar: String? name; null ile başlar. Hangisini seçeceğin veriye bağlı; null safety konusunu önceki grupta görmüştün.

Uygulama İki özellikli User

Bir User sınıfı tanımla; String name ve int age özellikleri olsun. User(this.name, this.age) constructor'ını yaz. main içinde User('Ayşe', 28) örneği oluştur ve name ile age'i ayrı satırlarda yazdır.

Başlangıç kodu

main.dart
void main() {
  // User sınıfını tanımla

  // örnek oluştur ve iki özelliği yazdır
}

Örnek çözüm

main.dart
class User {
  String name;
  int age;
  User(this.name, this.age);
}

void main() {
  var u = User('Ayşe', 28);
  print(u.name);
  print(u.age);
}

Beklenen çıktı

Ayşe
28

Soru ve cevaplar

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

1 İki User örneğinin name'i?

  • Her birinin kendi değeri vardır Doğru cevap
  • Hata verir
  • Aynı değeri paylaşır
  • Null olur

Açıklama: her örneğin kendi değerleri vardır.

2 İki özellik

Soru
class User {
  String name;
  ____ age;
}
Cevap
class User {
  String name;
  int age;
}

Açıklama: Yaş için tamsayı türü kullanılır.

3 Özellik türlerini eşleştir

Kavram Anlamı
String name Metin
int age Tamsayı
double score Ondalık
bool active Mantıksal

Başlangıç bölümündeki tüm dersler