Darsliklar Dart O'zgarmaslar

Dart Dart O'zgarmaslar

O’zgarmaslar (const va final) — bir marta belgilangach, qayta o’zgartirib bo’lmaydigan qiymatlar. Dart ikki xil o’zgarmas beradi: final va const. Ular o’xshash ko’rinsa-da, muhim farqi bor. Doimiy qiymatlar uchun ularni ishlatish kodni xavfsiz va aniq qiladi.

final va consto’zgarmas qiymat e’lon qiluvchi kalit so’zlar. final ish vaqtida bir marta o’rnatiladi, const esa kompilyatsiya vaqtidayoq ma’lum bo’lishi kerak.

final — bir marta o’rnatiladigan

final bilan e’lon qilingan o’zgaruvchini bir marta qiymat bergach, o’zgartirib bo’lmaydi:

void main() {
  final String ism = "Master Sherkulov";
  final yosh = 30;   // turni yozish shart emas
  print("$ism, $yosh yosh");
}
Master Sherkulov, 30 yosh

Agar keyin ism = "boshqa" deb yozsangiz, Dart xato beradi. final da turni yozish shart emas — Dart uni qiymatdan aniqlaydi.

const — kompilyatsiya vaqtidagi doimiy

const yanada qat’iyroq: uning qiymati kompilyatsiya vaqtida ma’lum bo’lishi kerak (o’zgarmas, hisoblanmaydigan):

void main() {
  const double pi = 3.14159;
  const int kunlar = 7;
  print("Pi: $pi, haftada $kunlar kun");
}
Pi: 3.14159, haftada 7 kun

const matematik doimiylar, sozlamalar kabi kod yozilganda ma’lum qiymatlar uchun ishlatiladi.

final va const farqi

Ikki kalit so’zning farqini jadvalda ko’ramiz:

Xususiyat final const
Qachon o’rnatiladi ish vaqtida kompilyatsiya vaqtida
Hisoblangan qiymat mumkin mumkin emas
Misol final vaqt = DateTime.now() const pi = 3.14

Muhim farq: final ish vaqtida hisoblanadigan qiymatni (masalan, joriy vaqt) qabul qiladi, const esa faqat oldindan ma’lum, o’zgarmas qiymatni.

Amaliy tanlov

Qaysi birini tanlash oson: agar qiymat kod yozilganda ma’lum va hech qachon o’zgarmasa — const; agar u ish vaqtida bir marta hisoblanib, keyin o’zgarmasa — final. Amaliyotda ko’p o’zgaruvchilar aslida o’zgarmaydi, shuning uchun imkon bo’lsa final yoki const ni afzal ko’ring — bu kodni xavfsizroq qiladi.

Xulosa

Bu bo’limda final (ish vaqtida bir marta) va const (kompilyatsiya vaqtida) o’zgarmaslarini, ularning farqini va tanlov qoidasini ko’rib chiqdik. Doimiy qiymat uchun final yoki const ishlating. Keyingi darsda ma’lumot turlariga o’tamiz.