Junior
Kotlin'da 'alias' nima va uni qanday ishlatish mumkin?
sobes.tech AI
AIdan javob
Kotlin'da alias ayrı bir rezervli söz yoxdu. Bəlkə də typealias nəzərdə tutursunuz.
typealias mövcud bir tipe alternativ ad vermək üçün bir yoldur. O, yeni bir tip yaratmır, sadəcə 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 də 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ə,
typealiastə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
}