Dart tiliga kirish O'zgaruvchilar va konstantalar Primitiv ma'lumotlar turlari
Download 374.15 Kb.
|
3-mustaqil ish
Statik sinf a'zolari
Oddiy usullar va maydonlardan tashqari, sinfda statik maydonlar, usullar, konstantalar bo'lishi mumkin. Bunday maydonlar, usullar va konstantalarning qiymatlari alohida ob'ektlarga emas, balki butun sinfga tegishli. Statik o'zgaruvchilar, doimiylar va usullarni aniqlash uchun ularni e'lon qilishdan oldin static kalit so'zi ko'rsatiladi. Statik maydonlar Statik maydonlar butun sinf holatini saqlaydi. Statik maydon oddiy maydon sifatida aniqlanadi, uning oldiga faqat statik kalit so'z qo'yiladi. Misol uchun, xodimni ifodalovchi Xodimlar sinfini ko'rib chiqing:
Xodimlar sinfi ism va yoshni saqlash uchun maydonlarni belgilaydi - har bir xodimning o'z ismi va yoshi bo'lishi mumkin. Bundan tashqari, pensiya yoshi pensiya yoshini saqlash uchun statik maydon belgilangan. Bu ma'lum bir xodimga emas, balki barcha xodimlarga, ya'ni butun Xodimlar sinfiga taalluqlidir, chunki har bir alohida xodim uchun o'z pensiya guruhini yaratish mumkin emas. Keyin, sinfning o'zida biz bu sohadan boshqalar kabi foydalanishimiz mumkin. Agar biz ushbu maydonga sinfdan tashqarida murojaat qilmoqchi bo'lsak, masalan, uning qiymatini o'zgartirish uchun, u holda sinf nomi mos yozuvlar uchun ishlatiladi:
Statik konstantalar Agar pensiya yoshini o'zgartirish rejalashtirilmagan bo'lsa, biz uni statik konstanta sifatida belgilashimiz mumkin:
Statik konstantani aniqlash uchun siz static const yoki statik yakuniy ifodadan foydalanishingiz mumkin:
Statik usullar Statik usullar ham butun sinf bo'lib, static kalit so'zi bilan prefikslangan. Odatda, statik usullar ob'ektning holatiga yoki harakatiga ta'sir qilmaydigan hisob-kitoblarni amalga oshiradi:
Bunda jamlama, ayirish, ko‘paytirish usullari uchun Operation sinfining qaysi nusxasi qo‘llanilishi muhim emas. Ushbu usullar sinf holatiga ta'sir qilmasdan faqat parametrlar bo'yicha ishlaydi. Shuning uchun ularni statik deb belgilash mumkin. Shuni ta'kidlash kerakki, Google yuqorida tavsiflangan Operatsion sinfi kabi faqat statik usullar va o'zgaruvchilar/konstantalarni o'z ichiga olgan sinflarni yaratishni tavsiya etmaydi. Chunki bu holda biz oddiy funktsiyalarni aniqlab, ulardan foydalanishimiz mumkin:
Statik usullardan statik maydonlarni, ya'ni butun sinfga tegishli holatni boshqarish uchun foydalanish mumkin. Shu bilan birga, biz statik usullarda statik bo'lmagan usullar va sinf maydonlaridan foydalana olmaymiz:
Bunday holda, statik setRetirenmentAge usuli retirenmentAge statik o'zgaruvchisini manipulyatsiya qilish imkonini beradi. Statik maydonlar va usullarning statik bo'lmaganlardan qanday afzalliklari bor? Statik maydonlar va usullar statik bo'lmaganlarga qaraganda kamroq xotirani iste'mol qiladi. Statik bo'lmagan o'zgaruvchi ishga tushirilgandan so'ng (qiymatning birinchi tayinlanishida) foydalanilgan yoki ishlatilmasligidan qat'i nazar, darhol xotirani iste'mol qila boshlaydi. Statik maydonlar va usullar dasturda foydalanilmaguncha ishga tushirilmaydi. Shunga ko'ra, ular faqat to'g'ridan-to'g'ri ishlatilganda xotirani iste'mol qila boshlaydilar. Download 374.15 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling