Sobes.tech
Junior

Kotlin-də 'alias' nədir və onu necə istifadə etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də alias ayrıca ayrılmış rezerv olunmuş söz kimi mövcud deyil. Yəqin ki, typealias nəzərdə tutursunuz.

typealias mövcud olan bir tipe alternativ ad vermək üçün bir yoldur. O, yeni bir tip yaratmır, sadəcə artıq mövcud olanın takma adıdır.

typealias istifadə etməyin üstünlükləri:

  • Kodun oxunaqlığını artırır, xüsusən mürəkkəb və ya uzun tiplərlə işləyərkən (məsələn, çox parametrli və ya generik funksiyalar).
  • Refaktorlaşdırmanı sadələşdirir. Əsas tip dəyişərsə, typealias tərifini bir yerdə dəyişmək kifayətdir.

İstifadə:

typealias faylın yuxarı səviyyəsində elan edilir.

// Funksiya nümunəsi
typealias ClickListener = (View, MotionEvent) -> Unit

// Generik nümunə
typealias StringList = List<String>

// Sinif nümunəsi
typealias UserName = String // Yeni bir String tipi yaratmır

// İstifadə
fun setOnClickListener(listener: ClickListener) {
    // ...
}

val names: StringList = listOf("Alice", "Bob")

typealias aşağıdakı üçün istifadə edilə bilər:

  • Siniflər
  • İnterfeyslər
  • Funksiya literaləri
  • Generik tiplər
  • Anotasiya

Əhəmiyyətli odur ki, typealias sadəcə bir takma addır. Kotlin tərtibçisi onu əsas tip kimi işləyir. Bytecode-da isə əsas tip istifadə olunur.

Bunun nümunəsi, onun sadəcə bir takma ad olduğunu göstərir:

typealias MyInt = Int

fun receiveInt(i: Int) {
    println("Alınan Int: $i")
}

fun main() {
    val num: MyInt = 10
    receiveInt(num) // MyInt, Int yerinə keçə bilər
}