Kotlin Academy · Ders

Özel Ek Açıklamalar Oluşturma ve Hedefleme

Saklama ilkeleriyle ek açıklamalar tanımlayın ve bunları sınıflara, işlevlere ve özelliklere uygulayın.

2. ders / 413 adım

Özel Ek Açıklamalar Oluşturma ve Hedefleme, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

Özel Ek Açıklamalar Neden Kullanılır

Ek açıklamalar, bildirimlere (sınıflara, işlevlere, özelliklere ve parametrelere) eklenen üst verilerdir. Özel ek açıklamalar, kodu çatıların, derleme araçlarının (KSP/KAPT) veya kendi çalışma zamanı mantığınızın işlemesi için işaretlemenize olanak tanır.

Ek Açıklama Bildirme

annotation class anahtar sözcüğünü kullanın. Ek açıklama sınıflarının kurucu parametreleri olabilir (yalnızca ilkel türler, dize, KClass, numaralandırmalar, diğer ek açıklamalar veya bunların dizileri):

annotation class Validate(val minLength: Int = 1, val maxLength: Int = 255)

Meta Ek Açıklamalar: @Target

@Target, ek açıklamanın nerede kullanılabileceğini kısıtlar. Yaygın hedefler: CLASS, FUNCTION, PROPERTY, FIELD, VALUE_PARAMETER, CONSTRUCTOR.

@Target(AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
annotation class Validate(val minLength: Int = 1, val maxLength: Int = 255)

@Retention: Ek Açıklama Ne Zaman Kullanılabilir

@Retention, ek açıklamanın yaşam süresini denetler:

  • SOURCE — derlemeden sonra atılır
  • BINARY — .class dosyasında saklanır ancak yansıma yoluyla görünür değildir
  • RUNTIME — saklanır ve çalışma zamanında görünür olur (çoğu kullanım senaryosunda varsayılandır)
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.PROPERTY)
annotation class Validate(val minLength: Int = 1)

@Repeatable: Aynı Ek Açıklamayı Birden Çok Kez Uygulama

Varsayılan olarak bir ek açıklama, her bildirim için yalnızca bir kez uygulanabilir. Birden çok uygulamaya izin vermek için onu @Repeatable ile işaretleyin:

@Repeatable
@Target(AnnotationTarget.FUNCTION)
annotation class Role(val name: String)

Kuruculara ve Parametrelere Ek Açıklama Ekleme

Kurucu parametrelerine ve birincil kurucu özelliklerine ek açıklama ekleyebilirsiniz. Ek açıklamayı hangi öğenin alacağını denetlemek için @field:, @get: veya @param: kullanım yeri hedeflerini kullanın:

data class User(
    @field:Validate(minLength = 2) val name: String,
    @field:Validate(minLength = 0, maxLength = 120) val email: String
)

Kullanım Yeri Hedefleri

Kotlin, tek bir özellikten birden çok bayt kodu öğesi üretir (alan, getirici, ayarlayıcı, parametre). Kullanım yeri hedefleri, ek açıklamayı hangisinin alacağını belirtir:

  • @field: yedekleme alanı
  • @get: getirici
  • @set: ayarlayıcı
  • @param: kurucu parametresi

Sınıflara Ek Açıklama Ekleme

Bir sınıftaki ek açıklamalar, sınıfı çatı tarafından işlenmek üzere işaretlemek için kullanışlıdır (örneğin sınıfı serileştirilebilir, enjekte edilebilir veya belirli bir modülün parçası olarak işaretlemek için):

@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
annotation class Repository

@Repository
class UserRepository

@MustBeDocumented

@MustBeDocumented eklemek, ek açıklamanın oluşturulan API belgelerinde görünmesini sağlar. Genel API sözleşmenizin parçasını oluşturan ek açıklamalar için bunu kullanın.

@MustBeDocumented
@Target(AnnotationTarget.CLASS)
annotation class PublicApi(val since: String)

Ek Açıklama Parametreleri: Varsayılanlar ve Diziler

Parametrelerin varsayılan değerleri olabilir ve vararg anahtar sözcüğü veya açık dizi türleri kullanılarak diziler kabul edilebilir:

annotation class Roles(vararg val value: String)

@Roles("ADMIN", "EDITOR")
class AdminPanel

Ek Açıklamalarda KClass Parametreleri

Ek açıklamalar, sınıf türlerine KClass aracılığıyla başvurabilir:

annotation class Serializer(val using: KClass<out Any>)

@Serializer(using = GsonAdapter::class)
class Event

Hızlı Kontrol

Özel bir ek açıklamayı çalışma zamanında Kotlin yansıması aracılığıyla erişilebilir yapan @Retention değeri hangisidir?

Özet: Özel Ek Açıklamalar

Temel çıkarımlar:

  • annotation class ile bildirin; parametreler ilkel türler, dize, KClass, numaralandırmalar ve dizilerle sınırlıdır
  • @Target — nerede uygulanabileceğini belirtir
  • @Retention — ne zaman kullanılabilir olduğunu belirtir (yansıma için RUNTIME kullanın)
  • @Repeatable — bir bildirimde birden çok uygulamaya izin verir
  • Kullanım yeri hedefleri (@field:, @get: vb.), ek açıklamayı hangi bayt kodu öğesinin alacağını denetler
Başlamak ücretsiz

Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
51
Dersler
203

Sıkça Sorulan Sorular

“Özel Ek Açıklamalar Oluşturma ve Hedefleme” dersi ücretsiz mi?

Evet — “Özel Ek Açıklamalar Oluşturma ve Hedefleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“Özel Ek Açıklamalar Oluşturma ve Hedefleme” dersinde ne öğreneceğim?

Saklama ilkeleriyle ek açıklamalar tanımlayın ve bunları sınıflara, işlevlere ve özelliklere uygulayın. Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Özel Ek Açıklamalar Oluşturma ve Hedefleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Kotlin Yansıması: KClass, KFunction, KProperty
  2. Özel Ek Açıklamalar Oluşturma ve Hedefleme
  3. Çalışma Zamanında Ek Açıklamaları Okuma
  4. Yansıma Tabanlı Doğrulama ve Eşleme
← Kotlin Academy Sayfasına Dön