Annotations 2023 Annotatsiyalar nima?
Download 356.01 Kb.
|
Annotations
- Bu sahifa navigatsiya:
- @Retention @Repeatable
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:
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
ma'muriyatiga murojaat qiling