Dart tiliga kirish O'zgaruvchilar va konstantalar Primitiv ma'lumotlar turlari
Download 374.15 Kb.
|
3-mustaqil ish
Zavod konstruktori
Odatiy bo'lib, sinf konstruktorlari ushbu sinfning yangi ob'ektini yaratadilar va qaytaradilar. Lekin har doim ham yangi sinf ob'ektini yaratish kerak bo'lmasligi mumkin. Biz konstruktordan mavjud ob'ektdan foydalanishni va qaytarishni xohlashimiz mumkin. Buning uchun Dart zavod konstruktorlari yoki zavod kalit so'zidan oldin joylashgan konstruktorlardan foydalanadi. Masalan, quyidagi dasturni ko'rib chiqing:
Bunday holda, ilovani ifodalovchi Application sinfi aniqlanadi. Aytaylik, bizning vazifamiz bir vaqtning o'zida faqat bitta dasturni ishga tushirishdir. Shu maqsadda biz sinfda Ilova turini ifodalovchi statik o'zgaruvchi ilovasini aniqlaymiz. Va biz ilovaning shartli nomini saqlash uchun o'zgaruvchi nomini ham aniqlaymiz. Ilova sinfi nomni o'rnatuvchi Application.fromName nomli konstruktorni belgilaydi. Va zavod konstruktori ham aniqlanadi:
Oddiy konstruktorlar kabi zavod konstruktori ham parametrlarni qabul qilishi mumkin. Bunday holda, biz nom o'rnatish uchun konstruktorga o'tamiz. Konstruktorning o'zida biz nom o'zgaruvchisi bo'sh qatorga teng yoki yo'qligini tekshiramiz, so'ngra Application.fromName konstruktori yordamida yangi Application ob'ektini yaratamiz va uni ilova o'zgaruvchisiga tayinlaymiz. Agar ob'ekt allaqachon yaratilgan bo'lsa, biz shunchaki ba'zi ma'lumotlarni ko'rsatamiz. Va oxirida biz yaratilgan ob'ektni qaytaramiz. Ya'ni, zavod konstruktori yangi Application ob'ektini yaratadi, agar u mavjud bo'lmasa (nom o'zgaruvchisi bo'sh qatorni bildiradi) yoki mavjud ob'ektni qaytaradi. Ya'ni, biz birlikda mavjud bo'lgan ob'ektni olamiz.
Shuni ham yodda tutingki, zavod konstruktorlarida joriy ob'ektga this kalit so'zi orqali murojaat qila olmaysiz:
Asosiy funktsiyada biz ushbu sinfning ikkita o'zgaruvchisini aniqlaymiz:
Konsol chiqishi: Internet-brauzer ishlamoqda
Konsol chiqishidan biz yangi Application ob'ektini yaratuvchi Application.fromName konstruktori faqat bir marta ishga tushishini ko'rishimiz mumkin. Ikkinchi o'zgaruvchining nomini o'rnatishda birinchi o'zgaruvchining nomi ham o'zgarishini ham ko'ramiz. Chunki bu holda faqat bitta Ilova obyekti mavjud va myApp1 va myApp2 o‘zgaruvchilari bir xil obyektga ishora qiladi. Ushbu texnikani qayerda qo'llash mumkin? Birinchidan, bu keshlashning turli xil variantlari, yangi ob'ekt yaratish uchun qo'shimcha resurslarni sarflash o'rniga, biz keshdan mavjud ob'ektni olishimiz mumkin. Va agar u yo'q bo'lsa, uni yarating. Download 374.15 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling