Sobes.tech
Middle

Kotlin-də hansı obyektlər var və onlar necə tərtib olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də obyektlər təkliyin (singleton) yaradılması üçün istifadə olunur. Onlar object açar sözü ilə elan edilir.

object Singleton {
    fun doSomething() {
        println("Salam təklikdən!")
    }
}

Tərtib zamanı, Kotlin Singleton obyekti Java sinfinə çevrilir, xüsusi statik INSTANCE sahəsi və statik başlanğıc bloku ilə.

// Yaradılmış Java kod nümunəsi
public final class Singleton {
   public static final Singleton INSTANCE; // Yeganə nümunə üçün statik sahə

   public final void doSomething() { // Obyekt metodu
      System.out.println("Salam təklikdən!");
   }

   private Singleton() { // Xüsusi konstruktor, digər nümunələrin yaradılmasını əngəlləyir
   }

   static { // Statik başlanğıc bloku
      INSTANCE = new Singleton(); // Yeganə nümunənin yaradılması
   }
}

Kotlin-də Singleton.doSomething() obyekt metodunu çağırmaq, Java-da Singleton.INSTANCE.doSomething() statik metod çağırışına çevrilir.

Adi obyektlərdən başqa, Kotlin-də bunlar da mövcuddur:

  • Yoldaş obyekt (companion object): Bir sinif daxilində statik üzvləri təyin etmək üçün istifadə olunur. Onlara sinif adı ilə daxil olmaq olur. Hər sinifdə ən çox bir yoldaş obyekt ola bilər.

    class MyClass {
        companion object {
            const val MY_CONSTANT = "some value"
            fun create(): MyClass {
                return MyClass()
            }
        }
    }
    

    Java-da statik üzvlərə çevrilir.

  • Obyekt ifadəsi (object expression): Java-dakı anonim siniflərə bənzər, anonim obyektlər yaratmaq üçün istifadə olunur.

    val listener = object : MyInterface {
        override fun onClick() {
            println("Kliklendi!")
        }
    }
    

    Java-da anonim sinifə çevrilir.