Flutter uchun Yangi boshlanuvchilar


Tushunish Dart kutubxonalar va paketlar



Download 15,11 Mb.
bet32/115
Sana24.04.2022
Hajmi15,11 Mb.
#580073
1   ...   28   29   30   31   32   33   34   35   ...   115
Bog'liq
Flutter

Tushunish Dart kutubxonalar va paketlar


Kutubxonalar bor a yo'l uchun tuzilishi a loyiha asoslangan yoqilgan modullilik, qaysi imkon beradi the dasturchi kodni bir nechta fayllarga bo'lish va kod yoki modulning bir qismini boshqa ishlab chiquvchilar bilan baham ko'rish uchun.

Ko'pchilik dasturlash tillar foydalanish kutubxonalar uchun ta'minlash bu modullilik uchun the dasturchi, Dart esa yo'q boshqacha. Dartda bular kutubxonalarda ham mavjud kodni tuzishdan tashqari yana bir muhim rol. Ya'ni, ular boshqa kutubxonalarga nima ko'rinadigan yoki ko'rinmasligini aniqlaydilar.


Dart to'plamiga kirishdan oldin biz kutubxonaning eng kichik birligini tushunishimiz kerak iborat ning. Birinchidan, qilaylik kashf qiling Qanday uchun foydalanish a kutubxona ichida bizning paket va, shundan so'ng , Dart-da kutubxonani qanday aniqlashni o'rganing.

Import qilinmoqda va foydalanish a kutubxona


In Bob 1 , An Kirish uchun Dart , ichida the Funksiyalar Bo'lim, biz import qilingan the meta @required dan foydalanish uchun kutubxona ba'zi parametrlarga izoh. Keling, kashf qilaylik
the Import bayonot ichida batafsilroq .
Kutubxonani aniqlash uchun biz oddiygina yaratmoq ichida ba'zi kodlari bo'lgan Dart fayli .

In bu misol, biz belgilangan a oddiy kutubxona bilan the Shaxs , Talaba va xodim PersonType bilan birga sinflar raqam:


// person_lib kutubxona - the Sinflar tarkibi edi kesilgan uchun qisqalik


sinf Shaxs { String ism; String familiya; Shaxs turi turi;


Shaxs([bu.firstism, this.lastName]);


String olish to'liq ism => "$firstName $lastName";


}

enum Shaxs turi { talaba, xodim }


sinf Talaba uzaytiradi Shaxs {


Talaba([ismi, familiya]): super(ismi, familiya) { turi = PersonType.student;
}
}

sinf Xodim uzaytiradi Shaxs {


Xodim([ismi, familiya]): super(ismi, familiya) { turi = PersonType.employee;
}
}

Kimga Import bu, biz mumkin shunchaki qo'shish the Import kutubxona_yo'li; bayonot da the boshlanishi faylning va har qanday koddan oldin:


Import 'person_lib.dart'; bekor asosiy() {


Shaxs odam = Shaxs ("Klark", "Kent");
// o'tkazib yuborilgan the ixtiyoriy "yangi" kalit so'z Shaxs talaba = Talaba ("Klark", "Kent");
chop etish ("Shaxs: ${person.fullName}, turi: ${person.type}"); chop etish ("Talaba: ${student.fullName}, turi: ${student.type}");
}

Sifatida the fayllar bor the bir xil katalog, the Import yo'l hisoblanadi shunchaki Fayl nomi. Qo'shgandan keyin


the Import bayonot, biz mumkin foydalanish har qanday mavjud kod dan bu - ichida the bir xil yo'l bu biz Shaxs bilan qilgan va Talaba sinflar.


Import qilinmoqda ko'rsatish va yashirmoq

Agar siz olish a qarang da the Oldingi misol, siz bo'ladi xabarnoma bu biz bor emas ishlatilgan hammasi ning person_lib dan mavjud sinflar kutubxona. Kodni tozaroq qilish va xatolar va nomlash mojarolariga kamroq moyil bo'lish uchun biz shoudan foydalanishimiz mumkin kalit so'z, bu bizga faqat kodimizda samarali foydalanmoqchi bo'lgan identifikatorlarni import qilish imkonini beradi:

// Import 'person_lib.dart' ko'rsatish Shaxs, talaba;


Biz ham belgilashi mumkin the identifikatorlar biz aniq istamayman uchun tomonidan import qilinadi foydalanish


the yashirmoq kalit so'z. In bu hol, biz bo'ladi bo'l import qilish hammasi ning the identifikatorlar dan the jilddan keyingi kutubxonalar bundan mustasno kalit so'z:
// Import 'person_lib.dart' yashirmoq xodim;


kutubxonalarga import qilish

Dart-da nom maydoni ta'rifi yoki kutubxonani noyob tarzda aniqlaydigan biror narsa yo'q kontekst bu bu hisoblanadi ishlatilgan, shunday ziddiyatlar mumkin sodir bo'lmoq qachon yaratish identifikator ismlar, bu kutubxonalar mumkin aniqlash a yuqori darajali funktsiyasi yoki hatto a sinf bilan the bir xil nomi. Garchi spektakldan foydalanishimiz mumkin va yashiring kutubxonadan qaysi a'zolarni import qilmoqchi ekanligimizni aniq belgilash uchun modifikatorlar mavjud bo'lsa, bu muammoni hal qilish uchun etarli emas, chunki ba'zida bizni turli kutubxonalarda bir xil nomga ega ba'zi sinf yoki yuqori darajadagi funksiya qiziqtirishi mumkin:

Yaxshiyamki, Dart ega a yo'l uchun ish atrofida bu. The kabi kalit so'z mumkin bo'l qo'shildi keyin Import bayonot uchun o'rnatish a prefiks uchun hammasi ning the identifikatorlar dan the import qilingan kutubxona:


Import 'a.dart' kabi kutubxonaA; Import 'b.dart' kabi kutubxonaB;


bekor asosiy() {


kutubxonaA.Shaxs shaxsA = libraryA.Person("Klark", "Kent"); chop etish ("Shaxs A: ${personA.fullName}");


kutubxonaB.Shaxs shaxsB = libraryB.Person(); // "b" Shaxs qiladi emas


// bor har qanday maydon
chop etish ("Shaxs B: ${personB}");
}

Ko'rib turganingizdek, bu prefikssiz bizda qaysi Shaxsni aniqlashning usuli yo'q foydalanish uchun sinf. The bir xil amal qiladi uchun har qanday ommaviy kutubxona identifikator, shunday kabi a funktsiyasi yoki a o'zgaruvchan. Prefiksni ko'rsatgandan so'ng, biz uni faqat ziddiyatli bo'lganlarga emas, balki ushbu kutubxona a'zosiga har bir qo'ng'iroqqa qo'shishimiz kerak.






Yoʻl variantlari import qilinmoqda

In the oldingi misollar, biz import qilingan a mahalliy fayl kutubxona bu yashaydi ichida the bir xil katalog kutubxona mijozi sifatida biz faqat fayl nomini ko'rsatdik.

Biroq, bu emas the hol uchun qachon siz bor foydalanish uchinchi tomon Dart paketlar. In bu Bunday holda, fayllar bir xil katalogda mavjud bo'lmaydi, shuning uchun biz tashqi Dart kutubxonasini qanday import qilishimizni ko'rib chiqamiz.


Importda kutubxona yo'llarini belgilashning bir necha yo'li mavjud bayonot va bizda allaqachon mavjud ishlatilgan ikki ning ular: qarindosh fayl Import va import qilish dan a paketi . Endi, qilaylik ularning barchasini batafsilroq ko'rib chiqing.
Keling faraz qilmoq bu biz bor a paket katalog ning a kichik foo paket o'z ichiga olgan ikkita fayl: a.dart va b.dart . Ularni import qilish uchun biz bir nechta yondashuvlardan foydalanishimiz mumkin:
A qarindosh fayl yo'l : Bu hisoblanadi o'xshash uchun the usuli bu biz ishlatilgan ichida the oldingi misol, chunki kutubxonalar bir papkada edi. Biz import qilmoqchi bo'lgan kutubxona fayliga nisbiy yo'lni quyidagicha qo'yishimiz mumkin:

Import 'foo/a.dart'; Import 'foo/b.dart';




An mutlaq fayl yo'l : Biz mumkin qo'shish the mutlaq yo'l yoqilgan the kompyuter uchun a faylni qo'shish orqali kutubxona fayli : // Import yo'liga URI prefiksi:

Import "file:///c:/dart_package/foo/a.dart"; Import "file:///c:/dart_package/foo/b.dart";





A URL ustida the veb : In the bir xil yo'l kabi foydalanish a mutlaq fayl yo'l, biz mumkin kutubxonaning manba kodini o'z ichiga olgan veb-saytning URL manzilini to'g'ridan-to'g'ri qo'shing
the http:// protokol:

Import "http://dartpackage.com/dart_package/foo/a.dart";




Paket : Bu kutubxonani import qilishning eng keng tarqalgan usuli. Bu erda biz paketdan kutubxona yo'lini belgilaymiz ildiz. Paketlar ta'rifini keyinroq o'rganamiz ichida bu bo'lim; ichida the hol ning import qilish a mahalliy kutubxona, bu ketadi dan the ildiz to'plamdan kutubxona fayligacha manba daraxtidan pastga :

Import 'paket: my_package/foo/a.dart'; Import 'paket: my_package/foo/b.dart';


The paket usuli hisoblanadi the tavsiya etiladi yo'l uchun Import kutubxonalar, kabi bu ishlaydi yaxshi
bilan mahalliy kutubxonalar (bu bu, sizning loyihasi mahalliy fayllar va kutubxonalar) va hisoblanadi the yo'l uchun foydalanish uchinchi tomon paketlaridan taqdim etilgan kutubxonalar.




Download 15,11 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   115




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish