Sobes.tech
Junior — Middle

Bir programlama dilinde veri türü tanımında dynamic, var ve Object kullanımı arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Dart dilinde (Flutter'da kullanılır) dynamic, var ve Object farklı özelliklere sahiptir:

  • var — örtük tipe sahip değişken, tip tanımlama sırasında belirlenir ve sonra sabitlenir. Örneğin:
var x = 10; // x — int
x = 20; // OK
x = 'dize'; // Derleme hatası
  • dynamic — türü çalışma zamanında kontrol edilen değişken, derleyici atama ve metod çağrılarında türleri kontrol etmez:
dynamic y = 10;
y = 'dize'; // OK
print(y.length); // Sadece çalışma zamanında hata olur, eğer length yoksa
  • Object — tüm türler için temel sınıf, Object türündeki değişken herhangi bir nesneyi içerebilir, ancak belirli metodları çağırmak için tür dönüşümü gerekir:
Object z = 10;
// z.length; // Derleme hatası
if (z is String) {
  print(z.length); // Tür kontrolünden sonra OK
}

Özetle:

  • var — tip, başlatma sırasında belirlenir.
  • dynamic — tür kontrolünü devre dışı bırakır, esnektir ama daha az güvenlidir.
  • Object — temel türdür, belirli işlemler için açık dönüşüm gerektirir.