Sobes.tech
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.