Junior
Kotlin-də genişlənmə funksiyaları nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Genişləndirmə funksiyaları mövcud siniflərə yeni funksionallıq əlavə etməyə imkan verən funksiyalardır, onların mənbə kodunu dəyişmədən və irs almağa ehtiyac olmadan.
Onlar sinifdən kənarda elan edilir və <SinifHərəkəti>.funksiya<Parametrlər> sintaksisi ilə ona bağlanır. Genişləndirmə funksiyasında this çağırılan sinfin nümunəsinə istinad edir.
Misal:
// String sinfi üçün genişləndirmə funksiyasının elan olunması
fun String.addGreeting(): String {
return "Salam, $this!"
}
fun main() {
val name = "Dünya"
// Genişləndirmə funksiyasını çağırış
println(name.addGreeting()) // "Salam, Dünya!" göstərəcək
}
Əsas üstünlüklər:
- Kodun təmizliyi: Statik metodlar olan utilitar sinflər yaratmağa və ya funksionallıq üçün siniflərdən irs almağa ehtiyac yoxdur.
- Oxunaqlıq: Genişləndirmə funksiyalarına çağırışlar normal sinif metodlarına bənzəyir.
- Modulluq: Funksionallıq lokal sahədə əlavə oluna bilər.
Məhdudiyyətlər:
- Genişləndirmə funksiyaları sinfin xüsusi və ya qorunan üzvlərinə daxil ola bilməz.
- Sinif metodu ilə eyni imzaya malik genişləndirmə funksiyası arasında münaqişə olarsa, sinif metodu üstünlük təşkil edir.