Dart Programala Dili Final ve Const Farkı
Dart programlama dilinde final
ve const
anahtar kelimeleri, değişkenlerin (variables) değerlerinin değiştirilemez olduğunu belirtmek için kullanılır. Ancak, final
ve const
arasında bazı önemli farklılıklar vardır.
final
anahtar kelimesi ile tanımlanan bir değişkenin değeri çalışma zamanında atanır ve daha sonra değiştirilemez. Yani, final
değişkenlerin değerleri sadece bir kez atanabilir ve sonrasında değiştirilemez. final
değişkenlerin farklı değerlere atanması mümkün olmasına rağmen, bir kez atandıktan sonra tekrar değiştirilemezler. Örneğin:
final int x = 53;
x = 28; // Hata alınacaktır çünkü final ile tanımlı x değişkeni değiştirilemezdir.
const
anahtar kelimesi ise sabit (constant) bir değeri ifade eder. Bir const
değişken, derleme zamanında bir değere atanır ve değeri çalışma zamanında değiştirilemez. const
değişkenler, genellikle derleme zamanında bilinen değerlere sahip olan ve tekrar değiştirilmesi beklenmeyen değerler için kullanılır. Örneğin:
const int y = 53;
y = 28; // Hata alınacaktır çünkü final ile tanımlı y değişkeni değiştirilemezdir.
const
değişkenler, sadece derleme zamanında sabit olarak değerlendirilebilen ifadelerle (compile-time constant expressions) atanabilir. Bu ifadeler, derleme zamanında sabit olarak değerlendirilebilen operasyonları içerir. Örneğin:
final int z = 5 * 2; // final derleme zamanında sabit değer alabilir.
const int w = 5 * 2; // const derleme zamanında sabit değer alabilir.
const
değişkenler, genellikle derleme zamanında bilinen değerlere sahip olan sabitlerin (constants) ve const
constructor’ların (kurucuların) oluşturulmasında kullanılır.
Özetle, final
değişkenler çalışma zamanında değeri atanırken, const
değişkenler derleme zamanında sabit olarak değerlendirilir. final
değişkenlerin değerleri sadece bir kez atanabilirken, const
değişkenlerin değerleri değiştirilemez.