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 const — o’zgarmas qiymat e’lon qiluvchi kalit so’zlar.
finalish vaqtida bir marta o’rnatiladi,constesa 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.