Sobes.tech
Junior

Šta je companion object u Kotlinu?

sobes.tech АИ

Одговор од АИ

Objekat povezan sa klasom koji sadrži statičke članove (svojstva i funkcije). Dostupan putem imena klase.

class MyClass {

    companion object {
        // Statička svojstvo
        const val TAG = "MyClass"

        // Statička funkcija
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Pristup članovima companion object-a
val instance = MyClass.create()
val className = MyClass.TAG

Glavne primene:

  • Fabrike metode.
  • Konstantne vrednosti.
  • Statičke pomoćne funkcije.

Može se izostaviti ključna reč companion, tada će objekat biti nazvan Companion, ali to se retko koristi. Može imati drugačije ime od Companion. Implementira interfejse.