skip to Main Content
Değişkenler Ve Değişken Türleri – 2

Değişkenler ve Değişken Türleri – 2

Merhabalar, Dart dilinde değişken türlerini ve kullanımını birinci bölümde detaylı bir şekilde inceledik. Bu bölümde ise sabitler, dinamik türler üzerinde konuşacağız.

Sabit ifadeler değiştirilemeyen ve uygulama boyunca aynı değeri veya referansı taşıyan değişkenlerdir. Dart programlama dilinde sabit bir ifade tanımlamak için iki yol mevcuttur. (final ve const)

final: Uygulama çalışma sırasında oluşturulan sabit türdür. Final değişkeninin değeri sabit olarak doğrudan atanabilir, ya da sınıf yapıcı metodu içerisinde değeri atanmalıdır. Bir sınıftan yeni bir nesne oluştururken bu sabit değer gönderilerek değer atanabilir. Fakat bu değer atandıktan sonra değiştirilemez.

// Varsayılan olarak değer ataması yapılmıştır.
final firstName = "izzet";
final String lastName = "öztürk";
final var lastName2 = "öztürk"; // Derleme hatası, final ile örtülü dinamik tür olan var değişkeni aynı anda kullanılamaz.

// Yapıcı metod içerisinde değer ataması yapılmıştır.
class TestClass {
  final String name;
  TestClass(this.name);
}

const: Uygulamada derleme sırasında oluşturulan ve değerleri atanan sabit türlerdir.  Bu değişken oluşturulurken değer ataması yapılır. Daha sonra bu değer değiştirilemez.

const number1 = 100;
const bool isHidden = false;
const var texture = "test"; // Derleme hatası, const ile örtülü dinamik tür olan var değişkeni aynı anda kullanılamaz.

isHidden = true; // Hata, const türünde değişkenlere çalışma zamanında değer ataması yapılmaz.

varVariable’ın kısaltması olarak oluşturulmuş bir değişken türüdür.  Bir değişken var olarak tanımlanmış ise, ona tür bağımsız herhangi bir değer atanabilir.(int, String, bool, custom vb.). Bu değişkenin türü çalışma anında veya derleme anında belirlenir. Bu ise pek tavsiye edilen bir yöntem değildir. Dart kaynaklarında değişken türü biliniyor ise, doğrudan bu tür ile tanımlanmasının daha doğru olduğu savunulmuştur.

var firstName = "İzzet";
var age = 66;
var skills = ["fast", 999, false];

dynamic: Bir değişkenin türü çalışma anında değişebiliyorsa veya türünü bilmediğimiz bir değişken ise bu tür kullanılmaktadır.

// Tür String atandı
dynamic value = "Dynamic Value"; 

// Tür int oldu.
value = 3; 

// Tür bool oldu.
value = false;

// Tür List oldu 
value = ["change", false, value];

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir