Sobes.tech
Junior

Cos'è un oggetto companion in Kotlin?

sobes.tech AI

Risposta dell'AI

Oggetto associato a una classe che contiene membri statici (proprietà e funzioni). Accessibile tramite il nome della classe.

class MyClass {

    companion object {
        // Proprietà statica
        const val TAG = "MyClass"

        // Funzione statica
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Accesso ai membri del companion object
val instance = MyClass.create()
val className = MyClass.TAG

Principali applicazioni:

  • Metodi di fabbrica.
  • Costanti.
  • Funzioni utilitarie statiche.

È possibile omettere la parola chiave companion, in tal caso l'oggetto si chiamerà Companion, ma questo è usato raramente. Può avere un nome diverso da Companion. Implementa interfacce.