Annotations 2023 Annotatsiyalar nima?


Download 356.01 Kb.
Sana20.09.2023
Hajmi356.01 Kb.
#1681961
Bog'liq
Annotations


Annotations
2023
Annotatsiyalar nima?
?
Annotatsiyalar bu metama'lumotlarni taqdim etish usulidir.Bu manba kodining metama'lumotlarini e'lon qilishning afzal usuli, chunki u format va funksiyani standartlashtiradi va chambarchas bog'liqdir.

Anotatsiyani yaratish:

  • Anotatsiyani yaratish:

Endi biz undan sinf, maydonlar va methodlarda izoh berish uchun foydalanishimiz mumkin.
@Target
CLASS — Klasslar oldidan bu anotatsiyani qo’llash uchun ishlatamiz.-> @Target(AnnotationTarget.CLASS)
FUNCTION— methodlar oldidan qo’llash uchun ishlatamiz ->
@Target(AnnotationTarget.FUNCTION)
FIELD — maydonlar oldidan qo’llash uchun ishlatamiz ->
@Target(AnnotationTarget.FIELD)
TYPE — Biron toifa oldidan qo’llash uchun ishlatamiz ->
@Target(AnnotationTarget.TYPE)
@Retention
Saqlash annotatsiya doirasini belgilaydi
SOURCE retentsiya: SOURCE retentsiyasiga ega annotatsiyalar faqat compile time davomida amal qiladi, lekin .class faylda saqlanmaydi. Bu annotatsiyalar tuzilish paytida vazifalarni bajarish uchun ishlatiladi va dastur bajarilayotganda mavjud bo'lmaydi. Bu davriylik bo’yicha Java-dagi SOURCE retentsiyasi o'xshash.
BINARY retentsiya: BINARY retentsiyasiga ega annotatsiyalar birlamchi faylda saqlanadi, lekin runtime (dastur ishga tushirilganda) reflection (aks etkazib berish) orqali foydalanib bo'lmaydi. Bu degani, annotatsiyalar tuzilish jarayonida ishlatiladi, lekin dastur bajarilishida dastur xavfsizlikka ta'sir qilmaydi.
@Retention
RUNTIME retentsiya: RUNTIME retentsiyasiga ega annotatsiyalar ham birlamchi faylda saqlanadi, lekin runtime (dastur ishga tushirilganda) reflection orqali foydalanib bo'lishi mumkin. Bu degani, annotatsiyalar dastur bajarilishida ham mavjud bo'lib, dastur ishga tushirilayotganda dastur vazifalarini ta'minlash uchun va boshqa runtime operatsiyalar uchun ishlatiladi. RUNTIME retentsiya Kotlin-da annotatsiyalar uchun asosiy retentsiya xususiyatidir.
@Retention
@Repeatable
"Repeatable" (takrorlanadigan) annotatsiyalarni bir turdagi klass (type) ichida bir nechta marta ishlatishga imkon beradi. Bu Java 8 da kiritilgan yangilik.
@MustBeDocumented
Bu xususiyat, annotatsiyalarning generatsiya qilingan hujjatda (dastur dokumentatsiyasida) o'rinlashinga imkon beradi. Bu Java tilidagi @Documented annotatsiyasiga o'xshaydi.
Annotatsiya klasslari konstruktor va a'zolarga ega bo'lishi mumkin. Lekin, a'zolar quyidagi toifalar bilan cheklangan:
1)Primitive toifalar
2)Stringlar
3)classalar Misol uchun Foo::class
4)Enumlar
5)Boshqa anotatsiyalar
6)Yuqoridagilarning listlari

Annotatsiyalarni lambdalarda ishlatilishi mumkin Bu annotatsiyalar lambdaning boshqarilayotgan invoke() metodiga qo'llaniladi.


To’liq malumot uchun https://kotlinlang.org/docs/annotations.html#0:
Download 356.01 Kb.

Do'stlaringiz bilan baham:




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